我想在最近的日期,本周或月份获取行等。假设该表有一个名为:product_date的字段。
答案 0 :(得分:5)
要获取上个月的行,您可以使用以下内容:
SELECT * FROM table WHERE product_date >= DATE_SUB(NOW(), INTERVAL 1 MONTH);
或者上周:
SELECT * FROM table WHERE product_date >= DATE_SUB(NOW(), INTERVAL 1 WEEK);
答案 1 :(得分:2)
在过去七天内:
WHERE product_date BETWEEN DATE_ADD(NOW(), INTERVAL -7 DAY) AND NOW()
上个月:
WHERE product_date BETWEEN DATE_ADD(NOW(), INTERVAL -1 MONTH) AND NOW()
答案 2 :(得分:0)
虽然mopoke的解决方案可以获得过去30天或7天的结果,但这只会为您提供当月的结果:
SELECT * FROM table WHERE DATE_FORMAT(product_date, '%c-%Y') = DATE_FORMAT(CURDATE(), '%c-%Y');
或者本周:
SELECT * FROM table WHERE DATE_FORMAT(product_date, '%u-%Y') = DATE_FORMAT(CURDATE(), '%u-%Y');