标题:请教SQL2000,排序问题,有大神看到的话帮忙解决一下
只看楼主
ytgytg28
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-4-24
 问题点数:0 回复次数:0 
请教SQL2000,排序问题,有大神看到的话帮忙解决一下
表格名:TBL_CS1
表格字段FLD_ID   FLD_LEVEL   FLD_EXP 暂定就这个四个字段,我想实现FLD_LEVEL(级别)  和FLD_EXP(经验)    做一个大排行.
先比对级别(FLD_LEVEL)是否相同  若是相同  再比对 谁的FLD_EXP(经验多)    最后输出他们的顺序 到ID中  从而得出最终排名顺序.

由于MSSQL2000中 不支持 ROW_NUMBER()函数,所以在网上 找的替代的语句.

UPDATE TBL_CS1
SET FLD_ID =
          (SELECT COUNT(*)
         FROM TBL_CS1 p1
         WHERE p1.FLD_LEVEL >= p2.FLD_LEVEL)
FROM TBL_CS1 p2

输出例如:
FLD_ID    FLD_LEVEL   FLD_EXP
1            59         50000
3            57         80000
3            57         30000
4            56         20000
5            53         60000
5            53         50000

级别相同情况下,虽然按照经验去排了   但是   他们的ID 是一样的   ,并不能从1开始按照顺序往下排

所以请教下大神们, 怎么才能将ID正确的,不重复的排列出来(按照,1,2,3,4,5....),并且设置在FLD_ID 字段内呢   
最后强调一下,使用的是MSSQL2000  数据库
搜索更多相关主题的帖子: 经验 顺序 相同 级别 排序 
2022-04-24 14:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508929-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.146228 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved