我想將下面table1的數據分組到表2所示。我可以按列分組,但是我期望的輸出是分組的!MySQL:如何按範圍分組然後再分組?
Logic: assetScore => >=0 - <=25 -> LOW, > 25 - <= 60 -> MEDIUM' and > 60 -> HIGH status => 1 -> Backlog, 2 -> WIP and 3 -> closed
Table-1:
+----+------------+--------+
| id | assetScore | status |
+----+------------+--------+
| 1 | 10 | 1 |
| 2 | 50 | 1 |
| 3 | 32 | 3 |
| 4 | 22 | 1 |
| 5 | 12 | 2 |
| 6 | 14 | 2 |
| 7 | 18 | 3 |
| 8 | 88 | 1 |
| 9 | 65 | 3 |
| 10 | 24 | 3 |
| 11 | 44 | 2 |
| 12 | 66 | 1 |
| 13 | 22 | 3 |
| 14 | 31 | 1 |
| 15 | 36.5 | 3 |
| 16 | 77 | 2 |
+----+------------+--------+
Expected Result:
+--------+---------+-----+--------+
| | Backlog | WIP | Closed |
+--------+---------+-----+--------+
| LOW | 2 | 2 | 3 |
| MEDIUM | 2 | 1 | 2 |
| HIGH | 2 | 1 | 1 |
+--------+---------+-----+--------+
到目前爲止,我有以下SQL(僅按assetScore或狀態):
SELECT
t.RANGE, COUNT(*)
FROM
(SELECT
CASE
WHEN assetScore BETWEEN 0 AND 25 THEN 'LOW'
WHEN assetScore BETWEEN 26 AND 60 THEN 'MEDIUM'
ELSE 'HIGH'
END AS 'RANGE'
FROM device) t
GROUP BY t.RANGE;