我的表订单中有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
我该怎么做?
答案 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)