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天前的数据的目的,具体使用哪一种方法取决于个人偏好和具体情况。