如何实现这样的排序问题,请教了,谢谢

[复制链接]
查看11 | 回复1 | 2009-5-18 18:00:00 | 显示全部楼层 |阅读模式
请教一个关于排序的问题,谢谢
原数据如下:
ID
LEVELYEAR
------- ---------- -----------
com1
A2008
com2
B2008
com1
A2007
com2
C2007
com3
D2008
com2
A2006
com3
E2007
com3
F2006
……
……
……
ID:公司代码
LEVEL:公司评级的结果
YEAR:评级的年份
同一个ID不会有相同的YEAR,同一ID的YEAR可能不连续。
公司很多,只举例3个。
不同公司的年份会不一样,大概有近10年的记录。
ID
LEVELYEAR
------- ---------- -----------
com2
B2008
com3
D2008
com1
A2008
com2
C2007
com3
E2007
com1
A2007
com2
A2006
com3
F2006
1. 按照YEAR倒序排列时,LEVEL字段同上一年的LEVEL进行比较,如果LEVEL有变化,则此行记录靠前。
2. LEVEL没有变化的,靠后;
3. 如果没有上一年的记录时,再靠后
4. 以上相同时,按照ID正序

比如说公司com1,它2008年和2007年评级结果都是A,没有变化;
公司com3,它2008年和2007年评级结果分别是D和E,有变化,
那么YEAR=2008的记录排序时,公司com3就排在公司com1前面。
依此类推。
请问如何实现,谢谢了
回复

使用道具 举报

千问 | 2009-5-18 18:00:00 | 显示全部楼层
加上row_number()伪列就可以排出来了吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行