我正在准备一张图表,显示当前月份和当年特定日期的订单数量。我想要每天下订单的数量。 我在y轴上显示订单计数,在x轴上显示日期。 在我的数据库中,有一个名为“order”的表,其中放置了订单数据:order date,user_id,order_price等。例如,如果在7月4日放置10个订单,则在7月5日放置20个订单,并且等等。
如何获取当月某天的订单数量?
答案 0 :(得分:3)
我没有明白你的意思,但这里有两个解决方案,我可以收集所有评论
如果您只想要特定日期的订单,则可以使用此查询
select count(*)as "Order Placed" from examp where date_of_order = '2012-01-15';
选择DATE_FORMAT(date_of_order,'%M%Y')作为“Date”,将count(*)选为“Order” “从examp group by date_of_order;
放置
看到它在这里工作
编辑:
现在,如果您想要一个月的列表,只需使用where子句。
select DATE_FORMAT(date_of_order,'%M %Y') as "DATE",count(*) as "Order Placed"
from examp
where month(date_of_order) = '2' group by date_of_order;
答案 1 :(得分:0)
只是添加Ankit所说的......
如果您的date_of_order包含时间戳,则在按日分组时可能会出现问题:
e.g。 2012-01-01 12:37:01
如果确实使用DATEADD将时间缩短到午夜,那么您可以按天分组。
DATEADD(DAY, DATEDIFF(DAY, 0, [date_of_order]),0)
然后看起来像:
2012-01-01 00:00:00
所以你的代码应该是:
SELECT
date_of_order,
COUNT(date_of_order)
FROM examp
GROUP BY DATEADD(DAY, DATEDIFF(DAY, 0, [date_of_order]),0)