在MySQL後,訂購查詢,我需要在年/月遞減波紋管責令結果:嘗試使用ROLLUP
Month Mod1 Mod2 Mod3
Jan/2013 5 4 2
Jan/2013 1 5 3
Total 6 9 5
Feb/2013 6 3 2
Feb/2013 2 1 4
Total 8 4 6
Mar/2014 6 3 2
Mar/2014 2 1 4
Total 8 4 6
排序方式年/月遞減應該是:
Month Mod1 Mod2 Mod3
Mar/2014 6 3 2
Mar/2014 2 1 4
Total 8 4 6
Feb/2013 6 3 2
Feb/2013 2 1 4
Total 8 4 6
Jan/2013 5 4 2
Jan/2013 1 5 3
Total 6 9 5
查詢是:
SELECT
month,
year,
SUM(IF(mod = 1, 1, 0)) AS mod1,
SUM(IF(mod = 2, 1, 0)) AS mod2,
SUM(IF(mod = 3, 1, 0)) AS mod3
FROM
DW_RM_Log
WHERE
...
GROUP BY
year, month
WITH ROLLUP
HAVING year IS NOT NULL AND month IS NOT NULL
我不能只在末尾插入ORDER BY年,月DESC,因爲我得到以下錯誤:「SQLSTATE [HY000] :一般錯誤:1221 CUBE/ROLLUP和ORDER BY'的錯誤使用。有什麼建議麼?
完美。謝謝! – Danilo