比如表table1,有两列teamname和num
select * from
(
select CASE WHEN grouping(teamname) = '1' THEN '合计' else teamname end as teamname,
CASE WHEN grouping(teamname) = '1' THEN 1 else 0 end as grouporder,
sum(num) as total
from table1
group by teamname with rollup
) t
order by grouporder,len(teamname),teamname
查询中多加一列grouporder
然后按grouporder、teamname的长度、teamname的顺序排序