如何从我的数据库中获取订单数量?

时间:2012-07-04 08:09:15

标签: php sql

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

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

2 个答案:

答案 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;

放置

看到它在这里工作

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;

答案 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)