【发布时间】:2020-09-30 22:43:06
【问题描述】:
我想了解如何根据该组中另一列的总和对一组列值进行降序排序。
来自样本数据:
mtype location mcount
===========================
X TX 4
Z AL 10
C TX 15
M AL 3
Z TX 12
M CT 4
M TX 20
Z CT 40
首先我想按状态确定 SUM(mcount)。
location SUM(mcount)
=======================
TX 51
CT 44
AL 13
然后基于该 SUM,我希望先返回 SUM 最高的状态行,然后以此类推。
所以上面的数据会像这样返回(首先是所有 TX 行,然后是 CT,最后是 AL)
mtype location mcount
===========================
X TX 4
C TX 15
Z TX 12
M TX 20
M CT 4
Z CT 40
Z AL 10
M AL 3
行的顺序超出其计数的组总和的总和无关紧要。
我已经获得了总 mcount 降序最高的州列表:
SELECT [LOCATION]
FROM A_TABLE
GROUP BY [STATE]
ORDER BY SUM(MCOUNT) DESC
要获得我的最终返回表,应将其放入临时表并遍历 [STATE] 值? 类似的东西
For each [LOCATION] in temptable
SELECT * FROM temptable tt WHERE tt.LOCATION = [LOCATION]
Next
然后以某种方式合并结果?建议的处理方法是什么? 谢谢
【问题讨论】:
标签: sql sql-server tsql