-3

我正在准备一个图表,它将显示当前月份和年份中特定日期的订单数量。我想要每天的订单数。我在 y 轴上显示订单数,在 x 轴上显示日期。在我的数据库中,有一个名为“order”的表,其中放置了订单数据:订单日期、user_id、order_price 等。例如,如果在 7 月 4 日下达了 10 个订单,则在 7 月 5 日下达了 20 个订单,并且很快。

如何获取当月某天的订单数量?

4

2 回答 2

3

我没有正确理解你的意思,但这里有两个解决方案,我可以从所有评论中收集到

  • 您需要计算某一天的订单数量

如果您只想要特定日期的订单,您可以使用此查询

 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(*) 作为“已下订单”;

看到它在这里工作

SqlFiddle

编辑:

现在,如果您想要一个月的列表,只需使用 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;
于 2012-07-04T09:06:40.037 回答
0

只是添加到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)
于 2012-07-04T09:17:56.193 回答