这是我的查询和结果集:
SELECT S.STATE AS State,
S.City AS City , COUNT(City) AS [Stores in City]
FROM tStore S
GROUP BY ROLLUP(STATE, City)
ORDER BY State, COUNT(City)
总计行位于顶部!如何使其显示在底部?
答案 0 :(得分:1)
使用状态State IS NULL
不能正确地对具有NULL值的行进行排序。
您应使用ORDER BY GROUPING(State), ...
强制将总计拖到最后一行。
答案 1 :(得分:1)
您可以在postgres
中使用实际字段和GROUPING
子句的组合:
ORDER BY GROUPING(State), State, GROUPING(City), City
答案 2 :(得分:0)
您的“ ORDER BY状态”导致NULL值上升到顶部。只需将您的“ ORDER BY”更改为:
ORDER BY case when State IS NULL then 2 else 1 end
答案 3 :(得分:0)
您也可以使用grouping sets
:
GROUP BY GROUPING SETS ( (STATE, City), (STATE), () )