看了下讨论度最高的答案,觉得是有漏洞的,下面为例。 假如A:3 B:4 C:6 D:6 total 19 正序:3 7 13 19 倒序:19 13 7 3 正序>=total/2,筛选出C、D列;倒序>=total/2,筛选出A、B列,中位数筛选不出来。 附上我自己的答案,欢迎讨论指正。 第一步,计算出按照等级顺序排列下的每一个等级下的数量区间。 select grade, sum(number) over (order by grade) - number + 1 as lower, sum(number) over (ord...