Bạn có thể thêm WITH ROLLUP
mệnh đề GROUP BY
của bạn điều kiện như thế này:
SELECT
CASE WHEN CONDITION=1 THEN 'OK' ELSE 'BAD' END AS Status,
SUM (CASE WHEN SIZE=10 THEN 1 ELSE 0 END) AS Small,
SUM (CASE WHEN SIZE=20 THEN 1 ELSE 0 END) AS Medium,
SUM (CASE WHEN SIZE=30 THEN 1 ELSE 0 END) AS Large,
FROM mytable
GROUP BY Status WITH ROLLUP
Điều này sẽ mang lại một tập hợp kết quả như:
Status Small Medium Large
OK 1 2 1
BAD 2 1 0
[NULL] 3 3 1
Bạn sẽ cần phải hiểu hành vi rằng sẽ không có bất kỳ Total
nào giá trị trong cột Trạng thái. Thay vào đó, cột Trạng thái sẽ có giá trị NULL cho biết rằng đây là nơi thực hiện cuộn lên.
Để biết thêm thông tin, bạn có thể đọc tài liệu tại đây: http ://dev.mysql.com/doc/refman/5.6/en/group-by-modifiers.html