Sql 如何对嵌套select的结果进行排序,同时将汇总保持在最后一行?
如何按卖家名称将结果排序到下面的示例中,同时将汇总保持在底部 由于分组应用于嵌套的Sql 如何对嵌套select的结果进行排序,同时将汇总保持在最后一行?,sql,sql-server,Sql,Sql Server,如何按卖家名称将结果排序到下面的示例中,同时将汇总保持在底部 由于分组应用于嵌套的SELECT,因此我不能使用ORDER BY,并且由于分组未应用于顶层,因此我也不能使用 这将产生以下结果: SELLER_NAME TOTAL_SALES --------------- ----------- C. Thirdplace 300 A. Firstplace 400 B. Secondplace 1000 (null)
SELECT
,因此我不能使用ORDER BY
,并且由于分组未应用于顶层,因此我也不能使用
这将产生以下结果:
SELLER_NAME TOTAL_SALES
--------------- -----------
C. Thirdplace 300
A. Firstplace 400
B. Secondplace 1000
(null) 1700
很好的解决方案!但是,如果认为汇总是最后一个,那么它不应该与0/1相反吗?@altschuler-排序自然是递增的。这将null放在最后。但是这里,如果是汇总,则按“1,null”排序,如果是其他的,则按“0”排序,或者我遗漏了什么吗?@altschuler-是的。由于
ORDER BY
默认为ASC
,因此0,
记录将出现在1,NULL
记录之前。
SELLER_NAME TOTAL_SALES
--------------- -----------
C. Thirdplace 300
A. Firstplace 400
B. Secondplace 1000
(null) 1700
ORDER BY
CASE WHEN seller_name IS NULL THEN 1 ELSE 0 END,
seller_name