使用SQL中的结果计算每天的总数

时间:2011-10-03 08:57:11

标签: php mysql sql

我的表订单中有50行/托管。我有一个列,在声明订单时成立,名为claimed_at

此字段中的日期格式为:2011-10-03 07:07:33

格式为(yy / mm / dd时间)。

我还有一个名为price的列,此price是他们支付的费用。

我想每天显示总数。

因此,对于2011-10-03日期的6个订单,它应该采用6个订单的price值,并将它们加在一起。

所以我可以显示:

2011-10-03  -- Total: 29292 Euros
2011-10-02  -- Total: 222 Euros
2011-09-28  -- Total: 4437 Euros

我该怎么做?

4 个答案:

答案 0 :(得分:6)

您需要将MySQL的aggregate功能与某些DATE conversion结合使用。

SELECT DATE(claimed_at) AS day
    , SUM(price) AS total
FROM Orders
GROUP BY day

答案 1 :(得分:1)

使用DATE_FORMAT(claim_at,'%Y-%m-%d')AS天创建一个新字段,每天汇总价格和分组,以便获得所需的结果。

这样的东西
SELECT DATE_FORMAT(claimed_at,'%Y-%m-%d') AS day,SUM(price) as total FROM orders GROUP BY day ORDER BY day DESC

答案 2 :(得分:0)

使用这样的分组:

SELECT claimed_at, SUM(price) AS total 
FROM Orders 
GROUP BY claimed_at

您需要使用函数在分组中仅获取日期部分(而不是时间)。我不知道在mysql中使用了哪个函数,在MSSQL中它是CONVERT()函数。

答案 3 :(得分:0)

SELECT TRUNC(claimed_at), SUM(PRICE) 
FROM my_orders_table 
GROUP BY TRUNC(claimed_at)