高手请进!!

shadowboy416 2002-10-19 06:02:49
某体育项目
队名 积分
china 3
japan 4
usa 1
cananada 2
想达到的效果
队名 积分 名次
china 3 2
japan 4 1
usa 1 4
cananada 2 3

...全文
29 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowboy416 2002-10-20
  • 打赏
  • 举报
回复
thinks:)i got it
gejanry 2002-10-19
  • 打赏
  • 举报
回复
妙,用临时表对其排序后,再左连接而成!
如果队名有重复记录,那是不是先对原表进行分组(GUOUP BY DM),同时用SUM(积分)
再用你的方法就可以了吧。
supsuccess 2002-10-19
  • 打赏
  • 举报
回复
create table tab(dm varchar(10),jf int)
insert tab values('china',3)
insert tab values('japan',4)
insert tab values('use',1)
insert tab values('cananada',2)
select id=identity(int,1,1),dm,jf into #temp from tab order by jf desc
select t1.dm,t1.jf,t2.id from tab t1 left join #temp t2 on t1.dm=t2.dm and t1.jf=t2.jf
drop table tab
drop table #temp

(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 1 行)


(所影响的行数为 4 行)

dm jf id
---------- ----------- -----------
china 3 2
japan 4 1
use 1 4
cananada 2 3

(所影响的行数为 4 行)

条件:队名不能有重复记录

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧