浅吟小时光 回复 用户DPraj3837383(提问者)举个例子:
SELECT b.* ,ROW_NUMBER() OVER(partition by NUM ORDER BY sblx DESC) RN
(select a.*,case when 季度=\'第一季度\' OR 季度=\'更正第一季度\' THEN 1
when 季度=\'第二季度\' OR 季度=\'更正第二季度\' THEN 2
end NUM
from(select ssnf as 所属年份,case when (ssyf in (0,1,2) and sblx=0) then \'第一季度\'
when (ssyf in (0,1,2) and sblx=2) then \'更正第一季度\'
when (ssyf in (3,4,5) and sblx=0) then \'第二季度\'
when (ssyf in (3,4,5) and sblx=2) then \'更正第二季度\'
END 季度,
ssyf 月份 ,sblx
from uf_qysdssbb) a
) b
对同一组数据内进行排序,由于每组更正的sblx都是比较大的那一个,倒序分组排序就可以按RN=1取到第一笔,当该组内不存在\"更正\"开始的季度时,只会有一笔记录,这是RN=1也会取到该季度的数据