查询上个月,上周,昨天,等等

时间:2011-05-03 09:09:10

标签: php mysql date timestamp

我有orders表,其中包含orderID& order_date

我正在尝试按上周,上个月或甚至昨天查询数据,但我无法弄清楚如何从当前时间减去时间

我的order_date字段属于TIMESTAMP类型,任何想法,任何帮助,都将不胜感激

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:3)

您可以使用DATE_SUB:

... WHERE order_date > DATE_SUB( NOW(), INTERVAL 1 MONTH )

上个月,

... WHERE order_date > DATE_SUB( NOW(), INTERVAL 1 WEEK )

获得上周,

... WHERE order_date > DATE_SUB( NOW(), INTERVAL 1 DAY )

获取今天和

... WHERE order_date BETWEEN ( DATE_SUB( NOW(), INTERVAL 2 DAY ), DATE_SUB( NOW(), INTERVAL 1 DAY ) )

前一天。

这是你要的吗?

答案 2 :(得分:1)

这里的线索是DATEDIFF和HAVING。

过去30天尝试这样的事情(来自记忆):

SELECT orderID, DATEDIFF(order_date, NOW()) AS days FROM table HAVING days <= 30