簡體   English   中英

每天匯總MySQL行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM