MySQL 查詢30天前的數據需要用到日期函數和過濾條件。我們可以使用以下兩種方法:
方法一:使用DATE_SUB函數
SELECT * FROM table_name WHERE datetime_column > DATE_SUB(NOW(), INTERVAL 30 DAY);
該方法中,DATE_SUB函數用于從當前日期(NOW())中減去30天,這樣我們就得到了30天之前的日期。接下來,我們使用過濾條件(datetime_column > ...)來選取時間晚于30天前的行。
方法二:使用DATE函數
SELECT * FROM table_name WHERE DATE(datetime_column) > DATE_SUB(CURDATE(), INTERVAL 30 DAY);
該方法中,我們使用了DATE函數來截取掉時間部分,只留下日期部分。然后我們再用DATE_SUB函數從當前日期(CURDATE())中減去30天,便得到了30天前的日期。最后,我們使用過濾條件(DATE(datetime_column) > ...)來選取日期晚于30天前的行。
以上兩種方法都可以達到查詢30天前的數據的目的,具體使用哪一種方法取決于個人偏好和具體情況。