NAME SNAME NUM A 甲 1 B 乙 2 C 丙 2 B 甲 1 A 丙 2 C 丙 1NAME SNAME NUM A 丙 2 A 甲 1 A 小计 3 B 乙 2 B 甲 1 B 小计 3 C 丙 3 C 小计 3 合计 9select CASE WHEN name IS NULL THEN '合计' ELSE name END name, CASE WHEN name IS NOT NULL AND sname IS NULL THEN '小计' WHEN name IS NULL AND sname IS NULL THEN NULL ELSE sname END sname, sum(num) num from tmp3 GROUP BY ROLLUP(name, sname)
A 甲 1
B 乙 2
C 丙 2
B 甲 1
A 丙 2
C 丙 1NAME SNAME NUM
A 丙 2
A 甲 1
A 小计 3
B 乙 2
B 甲 1
B 小计 3
C 丙 3
C 小计 3
合计 9select
CASE WHEN name IS NULL
THEN '合计'
ELSE name
END name,
CASE WHEN name IS NOT NULL AND sname IS NULL
THEN '小计'
WHEN name IS NULL AND sname IS NULL
THEN NULL
ELSE sname
END sname,
sum(num) num
from tmp3
GROUP BY ROLLUP(name, sname)