我有一张购买交易表.每笔交易都有一个时间戳和购买金额(以美元计).
我正试图从中创建一些统计数据.我想每年提取一行,其中包含一年中每个月的总和.(我想几个月没有交易总和为0 - 没有省略.)
我知道我可以对PHP进行简单的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
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4172 次 |
| 最近记录: |