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

Php 如何从数据库中获取订单数量?,php,sql,Php,Sql,我正在准备一个图表,显示当前月份和年份中某一天的订单数量。我想知道每天的订单数量。 我在y轴上显示订单数量,在x轴上显示日期。 在我的数据库中,有一个名为“订单”的表,在该表中放置订单数据:订单日期、用户id、订单价格等。例如,如果7月4日下了10个订单,7月5日下了20个订单,依此类推 如何获得当月当天的订单数量?我没有正确理解您的意思,但以下是我可以从所有评论中收集到的两种解决方案 您需要计算在特定日期下的订单数量 如果您只需要特定日期的订单,可以使用此查询 select count(

我正在准备一个图表,显示当前月份和年份中某一天的订单数量。我想知道每天的订单数量。 我在y轴上显示订单数量,在x轴上显示日期。 在我的数据库中,有一个名为“订单”的表,在该表中放置订单数据:订单日期、用户id、订单价格等。例如,如果7月4日下了10个订单,7月5日下了20个订单,依此类推


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

我没有正确理解您的意思,但以下是我可以从所有评论中收集到的两种解决方案

  • 您需要计算在特定日期下的订单数量
如果您只需要特定日期的订单,可以使用此查询

 select count(*)as "Order Placed" from examp where date_of_order = '2012-01-15';
  • 您需要下订单的列表(按日期)
选择日期格式(订单的日期,%M%Y')作为“日期”,计数(*)作为“订单” 按订单日期从examp组中“放置”

看到它在这里工作了吗

编辑:

现在,如果您想要一个单月的列表,只需使用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所说的

按天分组时,如果您的订单日期包含时间戳,则可能会出现问题:

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)

MySql?神谕这些列的名称是什么?你试着运行什么查询?试着把它分解成更小的问题,然后研究每一个问题,如果你在某个方面遇到困难,请回到这里。我们不能为你做这件事!我在php中使用mysql,列的名称是用户id、折扣、服务税、优惠券折扣、总计、订单日期。并且需要一个建议如何得到每一天的订单数量一个非常好的点。。。但是DATEADD不受Mysql支持(我想),但它可以与SQLServer一起工作。啊,谢谢你让我知道它!非常感谢。DATEADD是sqlserver函数,在mysql中受支持,而不是mysql的替代品