我希望排序出运动员的名次和道号`但我应该如何根据成绩插入名次和道号?
CompetitionID(运动会ID) Mark(成绩) Rank(名次) WayNumber(道号)
001 12.00
003 13.00
002 14.00
004 15.00我已经用
select * from TrackGame where GameBout = 决赛 and GroupNumber = " + Convert.ToString(GroupNumber) + "order by Mark
问题:
1.我应该如何插入名次 如:1234 如何插入道号 如:4536
2.我应该再哪里放入子函数
CompetitionID(运动会ID) Mark(成绩) Rank(名次) WayNumber(道号)
001 12.00
003 13.00
002 14.00
004 15.00我已经用
select * from TrackGame where GameBout = 决赛 and GroupNumber = " + Convert.ToString(GroupNumber) + "order by Mark
问题:
1.我应该如何插入名次 如:1234 如何插入道号 如:4536
2.我应该再哪里放入子函数
解决方案 »
- sql2008 r2 安装后没有实例
- 求一SQL函数组合,获取子字符串
- SQLServer2000 SP4 ODBC连接断开的问题
- 安装SQL SERVER2005时,为什么提示:此计算机上没有与此安装软件包匹配的产品。?
- 怎么样测试conn(conn.asp)是否可以连通数据库而且如果conn有错的话也不会卡死机导致需要重启??在线等!!!
- 怎么在查询分析器里执行这个存储过程
- SQL Server 2000--我困惑,我迷茫!求助!
- 用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。
- 这个SQL写的我好头痛,大家快帮帮我吧,我快不行了,在线等待
- 在用C++编写SQL SERVER的扩展存储过程时遇到问题
- 收缩数据库文件,咨询一下,立即给分
- 什么叫批处理查询
CompetitionID(运动会ID) Mark(成绩) Rank(名次) WayNumber(道号)
001 12.00 1 4
003 13.00 2 5
002 14.00 3 3
004 15.00 4 6我希望能变成这样`
但我不知道运动员的ID`我要在空表里设计好`请问各位大侠`救急啊~~~~~
第一行第三列插入数据4`
名次可以这样???
*/
---创建测试环境
Declare @T Table(运动会ID Varchar(4),成绩 Numeric(4,2),
名次 int,道号 int)
Insert @T Select '001', 12.00,Null,Null
Union All Select '003', 13.00,Null,Null
Union All Select '002', 14.00,Null,Null
Union All Select '004', 15.00,Null,Null
Select * From @T---因为你的数据已经是按照成绩排序好了
--更新
Update @T
Set 名次=(Select Count(1) From @T Where 成绩<=A.成绩)
From @T A---查看更新后的结果
Select * From @T--结果
/*
运动会ID 成绩 名次 道号
----- ------ ----------- -----------
001 12.00 1 NULL
003 13.00 2 NULL
002 14.00 3 NULL
004 15.00 4 NULL(所影响的行数为 4 行)
*/
就象第一名跑跑道4`第二名跑跑道5
我应该如何写进去`//成绩<=A.成绩//请教一下`A是什么意思?
insert into tb values('001',12.00,0,0 )
insert into tb values('002',13.00,0,0 )
insert into tb values('003',14.00,0,0 )
insert into tb values('004',15.00,0,0 )
insert into tb values('005',16.00,0,0 )
insert into tb values('006',17.00,0,0 )
insert into tb values('007',18.00,0,0 )
insert into tb values('008',19.00,0,0 )
goselect * , waynumber =
case rank
when 1 then 4
when 2 then 5
when 3 then 3
when 4 then 6
when 5 then 2
when 6 then 7
when 7 then 1
when 8 then 8
end
from
(
SELECT competitionid , , rank=(SELECT COUNT(DISTINCT ) FROM tb WHERE <= a.) FROM tb a
) tdrop table tb
/*
competitionid rank waynumber
------------- -------------------- ----------- -----------
001 12.00 1 4
002 13.00 2 5
003 14.00 3 3
004 15.00 4 6
005 16.00 5 2
006 17.00 6 7
007 18.00 7 1
008 19.00 8 8(所影响的行数为 8 行)*/