[英]Aggregating MySQL rows by day
我有一個這樣的MySQL表:
Payments
+----+---------------------+---------+
| id | date (sorted DESC) | payment |
+----+---------------------+---------+
| 5 | 2010-03-26 00:00:01 | 100.00 |
| 4 | 2010-03-19 00:00:02 | 55.12 |
| 3 | 2010-03-19 00:00:01 | 20.00 |
| 2 | 2010-03-12 00:00:02 | 320.00 |
| 1 | 2010-03-12 00:00:01 | 64.56 |
+----+---------------------+---------+
如何按天匯總付款總額?
付款每周都會插入表格中,但您所看到的並非總是同一時間。 每天可以在MySQL中本地完成聚合嗎?
理想的結果將是:
+------------+----------------+
| date | total payments |
+------------+----------------+
| 2010-03-26 | 100.00 |
| 2010-03-19 | 75.12 |
| 2010-03-12 | 384.56 |
+------------+----------------+
提前致謝。
您可以做兩件事,將datetype更改為date,因此只存儲日期(在您的情況下可能無法實現)。 或者,您可以通過重新設置日期值使其僅為日期進行分組。
select date(date), sum(payment)
from payments
group by date(date)
order by date(date) desc
SELECT CONVERT(VARCHAR(10), date , 102) as date,sum(payment ) as total_payment
FROM Payments
GROUP BY CONVERT(VARCHAR(10), date , 102)
ORDER BY CONVERT(VARCHAR(10), date , 102)
應該可以
您可以按日期對函數進行分組,因此將完整的datetime轉換為僅日期部分,然后按該部分分組,只要該日期在select中,就應該合法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.