我可以使用下面的代码选择过去任意几天的数据,但是如果我只想要上个月的数据(例如60天之前到30天之前),该怎么办。
我以为我可以使用INTERVAL 60 - 30
,但是我不确定那是否可以使用...
SELECT
product,
COUNT(OrderNumber) AS CountOf
FROM
orders
WHERE
STATUS = 'booking' AND
Date(OrderDate) <= CURDATE() AND
Date(OrderDate) > DATE_SUB(CURDATE(),INTERVAL 30 DAY)
GROUP BY
product
ORDER BY CountOf DESC
有什么想法吗?
这太长了,无法发表评论:
Date(OrderDate) < DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND
Date(OrderDate) >= DATE_SUB(CURDATE(), INTERVAL 60 DAY)
注意:如果OrderDate
已经是日期,则不要使用该DATE()
功能。它可以防止使用索引。
即使OrderDate
具有时间成分,您可能仍然不需要此DATE()
功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句