Php 用于计算每天订单总数的SQL查询?

Php 用于计算每天订单总数的SQL查询?,php,sql,mysql,charts,Php,Sql,Mysql,Charts,任何人都可以发布SQL查询来计算每天的订单总数吗 以下是我的数据库中的列及其数据 例如,2009年2月有2份订单 - 2 2/3/2009 1:57:17 AM 199.99 - 3 2/3/2009 1:58:27 AM 449.99 我需要一个sql查询,它将计算并显示每天的总金额。因此,2009年2月3日的总数将为699.98 我需要在图表中显示每天的订单总额 如果使用PHP更容易实现,那么也要提到它 更新: 我想澄清一下,我需要本月每天的总

任何人都可以发布SQL查询来计算每天的订单总数吗

以下是我的数据库中的列及其数据



例如,2009年2月有2份订单

 - 2    2/3/2009 1:57:17 AM     199.99  
 - 3    2/3/2009 1:58:27 AM     449.99  
我需要一个sql查询,它将计算并显示每天的总金额。因此,2009年2月3日的总数将为699.98

我需要在图表中显示每天的订单总额

如果使用PHP更容易实现,那么也要提到它


更新:
我想澄清一下,我需要本月每天的总金额。我在最初的问题中忘了提到这一点

因此,我对Peter的查询进行了预测,以获得本月的订单总数+每日总金额

请让我知道,如果它需要任何纠正或有更好的和更短的方式做它


A是你在这里的朋友。它可以在分组行上聚合。查询示例如下:

SELECT order_placed_date, SUM(order_total)
  FROM orders
 GROUP BY order_placed_date
当然,在您的示例中,您可能希望使用函数仅提取日/月/年部分,并按该部分分组。

将返回一个日期时间或时间戳值,而不包含任何小时/分钟/秒信息-这意味着您将该值的准确度降低到当天

因此,您需要做的就是按此分组,然后将聚合函数添加到正确的列中

SELECT date(order_placed_date)
     , COUNT(id) AS num_orders
     , SUM(order_total) AS daily_total
  FROM [Table]
 GROUP BY date(order_placed_date)

我不知道MySQL中是什么,但在MSSQL中是这样的

select 
datepart(yyyy, order_placed_date), 
datepart(mm, order_placed_date), 
datepart(dd, order_placed_date),
sum(order_total)
from orders
group by datepart(yyyy, order_placed_date), datepart(mm, order_placed_date), datepart  (dd, order_placed_date)

我只是抄了彼得的答案,但修改了,这样就行了。加上短接组。

日期是否为参数?还是与今天有关?或者它会返回一个“日期”/“当天总计”的表格吗?这不起作用,因为下单命运是一个日期时间字段,将按秒分组。他还要求的是“总和而非平均值”。我注意到,在发布答案一分钟后,我进行了相应的编辑。非常好,效果非常好。现在我要把它转发到我的图表上。你能提供你答案的上下文吗?非常感谢。
select YEAR(datename(year,ORDER_DATE)) as YEARS,
       count(ORDER_nO) as [NO(ORDER)]
       from ProductOrder
       group by YEAR(datename(year,ORDER_DATE))
select 
datepart(yyyy, order_placed_date), 
datepart(mm, order_placed_date), 
datepart(dd, order_placed_date),
sum(order_total)
from orders
group by datepart(yyyy, order_placed_date), datepart(mm, order_placed_date), datepart  (dd, order_placed_date)
SELECT date(order_placed_date)
     , COUNT(id) AS num_orders
     , SUM(order_total) AS daily_total
  FROM orders
 GROUP BY 1
select YEAR(datename(year,ORDER_DATE)) as YEARS,
       count(ORDER_nO) as [NO(ORDER)]
       from ProductOrder
       group by YEAR(datename(year,ORDER_DATE))