求教: Rank() over用法
sql吧
全部回复
仅看楼主
level 1
wf_fjyrsw 楼主
求教:
使用RANK() OVER (PARTITION BY nj ORDER BY 人数 DESC)排序,获得如图结果,但不需要合计的排序,即对dw字段为合计的不参与排序,应该如何写?
谢谢!
==============================================================================
=============================================================================
select *,RANK() OVER (PARTITION BY nj ORDER BY 人数 DESC) rank
from
(
select case when dw is null then '合计' else dw end dw,nj,人数
from
(
SELECT DW,NJ,COUNT(*) 人数
FROM KS WHERE KSM='2013年春季期末考试' and nj>6 GROUP BY NJ,DW
WITH ROLLUP
) a where nj is not null
) b
2019年06月14日 08点06分 1
level 2

2019年11月22日 13点11分 4
level 1

2020年04月14日 09点04分 5
level 1
排序的时候不合计,在后面合计并union all这一行不就行了
2020年04月20日 09点04分 6
1