获取最近日期行的最佳方法是什么? (本周/月)

时间:2009-12-29 23:26:56

标签: sql mysql

我想在最近的日期,本周或月份获取行等。假设该表有一个名为:product_date的字段。

3 个答案:

答案 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');