Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何对嵌套select的结果进行排序,同时将汇总保持在最后一行?_Sql_Sql Server - Fatal编程技术网

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