[英]MYSQL - get a row for each year, with total sum for each month
我有一張購買交易表。 每筆交易都有時間戳和購買金額(美元)。
我正在嘗試從中創建一些統計信息。 我想為每年提取一行,其中包含一年中每個月的總和。 (我希望沒有交易的月份總計為0-不省略。)
我知道我可以對所有內容進行簡單的SELECT並在PHP中進行處理,但是我想知道是否有可能讓MySQL進行工作並按我的意願提取數據?
我想看到的是這樣的行:
Year, Total_Jan, Total_Feb, ... Total_Dec, Total_Year
我能夠得到每年的總數,但是我不知道如何將每月的總數計入同一行。
SELECT
YEAR(dt) as the_year,
SUM(mc_gross) AS sum_total
FROM
transactions
GROUP BY
the_year
SELECT
YEAR(dt) as the_year,
SUM(CASE WHEN MONTH(dt) = 1 THEN mc_gross ELSE 0 END) AS Total_Jan,
SUM(CASE WHEN MONTH(dt) = 2 THEN mc_gross ELSE 0 END) AS Total_Feb,
...
SUM(CASE WHEN MONTH(dt) = 12 THEN mc_gross ELSE 0 END) AS Total_Dec
FROM
transactions
GROUP BY
the_year;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.