資料庫名稱: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)