数据库名称:SQL Server
数据库版本:SQL Server 2014
内容/问题描述:
最近在练习网络的习题,有一题我拿别人的解答来试,一直跑不过。
假设现在有个资料表T:
Name Score
Jack 10
Amy 70
Gary 50
Danny 30
我想加一栏叫Rank,显示的是他们的成绩排序:
Name Score Rank
Amy 70 1
Gary 50 2
Danny 30 3
Jack 10 4
我想用变量来做,
declare @i int;
set @i = 0;
select *, @i:[email protected]+1 as Rank
from T
order by Score
但是一用到变量就错,我试过@i:[email protected]+1、@[email protected]+1、@i+=1都没办法跑过。
我是用线上的compile网站做练习
https://rextester.com/l/sql_server_online_compiler
不知道为什么别人可以跑过,我就不行,难道是因为这个网站不支援这种写法吗?
能不能在select里面使用变量阿? 请大大们帮忙解惑,感恩!
(我知道这种排序可以不使用变量,不过主要还是想了解变量的使用方法QQ)