首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

在作业中,怎么让查询数据中 前三名 发送不同数值的点数?

2013-10-17 
在作业中,如何让查询数据中 前三名 发送不同数值的点数???小弟想建立个作业。要求是这样的。每周日0:00查询

在作业中,如何让查询数据中 前三名 发送不同数值的点数???
小弟想建立个作业。要求是这样的。
每周日0:00
查询出 用户表 的 积分 列的 所有用户并已最高排名。
如:select top 3 JF from USER ORDER BY jf desc

然后让前三名发送不同的点数
如第一名发100
第二名发50
第三名发30

要怎么写呢??
[解决办法]


select top 3 JF,
case row_number() over(order by getdate())
when 1 then 100
when 2 then 50
when 3 then 30
end as 点数
from [USER] ORDER BY jf desc

[解决办法]

with t as
(select *,row_number() over(order by jf desc) 'rn' 
 from [USER]
)
update t 
 set t.[点数字段]=t.[点数字段]
                +case rn when 1 then 100
                         when 2 then 50
                         when 3 then 30 end
 where rn<=3

热点排行