我正在准备一个图表,它将显示当前月份和年份中特定日期的订单数量。我想要每天的订单数。我在 y 轴上显示订单数,在 x 轴上显示日期。在我的数据库中,有一个名为“order”的表,其中放置了订单数据:订单日期、user_id、order_price 等。例如,如果在 7 月 4 日下达了 10 个订单,则在 7 月 5 日下达了 20 个订单,并且很快。
如何获取当月某天的订单数量?
我没有正确理解你的意思,但这里有两个解决方案,我可以从所有评论中收集到
如果您只想要特定日期的订单,您可以使用此查询
select count(*)as "Order Placed" from examp where date_of_order = '2012-01-15';
按 date_of_order 从示例组中选择 DATE_FORMAT(date_of_order,'%M %Y') 作为“日期”,count(*) 作为“已下订单”;
看到它在这里工作
编辑:
现在,如果您想要一个月的列表,只需使用 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;
只是添加到Ankit所说的内容..
按天分组时,如果您的 date_of_order 包含时间戳,您可能会遇到问题:
例如 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)