【发布时间】:2011-08-17 13:33:56
【问题描述】:
我有orders 表,其中包含orderID 和order_date。
我正在尝试查询上周、上个月甚至昨天的数据,但是我不知道如何从当前时间中减去时间
我的 order_date 字段是 TIMESTAMP 类型,任何想法,任何帮助,将不胜感激
【问题讨论】:
我有orders 表,其中包含orderID 和order_date。
我正在尝试查询上周、上个月甚至昨天的数据,但是我不知道如何从当前时间中减去时间
我的 order_date 字段是 TIMESTAMP 类型,任何想法,任何帮助,将不胜感激
【问题讨论】:
您可以使用 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 ) )
获取前一天。
这是你要求的吗?
【讨论】:
【讨论】:
这里的线索是 DATEDIFF 和 HAVING。
过去 30 天尝试这样的事情(凭记忆):
SELECT orderID, DATEDIFF(order_date, NOW()) AS days FROM table HAVING days <= 30
【讨论】: