[SQL ] 怎麼樣可以讓資料自動加一
各位大大~~
小弟正在建一個自己的資料庫~
這不是作業的~~
我用的DB是Oracle~~
遇到一個問題~~
想問一下有什麼方法~~
主要是我有一個table叫Record~~我裡面現在只有一個attribute叫Score~資料型態為integer~
簡單來說~
這個Record table裡面只有這個Score~~
然後Score包含的都是不重覆的數字~~
想問說~~
假設我不再加其他的attribute~~
怎樣的SQL語法可以秀出以下的東西~~
第一欄秀出全部的Score~~從大排到小~~(這個比較簡單)
然後第二欄叫Rank~~數字是1,2,3....(這個原本不存在)
最大的數字就是第一名~~所以就排1在rank~
出來就會像這樣:
Score rank
------------
5478 1
5243 2
998 3
556 4
我問過我朋友~~
他用SQLserver可以用identity(int, 1, 1)去讓rank的地方自動跑出來~~
像這樣~~
select R.score as score, identity(int, 1, 1) as rank into #F from Record R
group by R.score order by R.score desc
select * from #F
可是我試oracle不行~~
而且SQLserver是可以一次執行完~~
可是oracle一次只能執行一個SQL~~
想問一下有什麼方法~~
謝謝!!!!^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 67.186.28.46
推
10/21 21:58, , 1F
10/21 21:58, 1F
推
10/21 22:03, , 2F
10/21 22:03, 2F
→
10/22 00:59, , 3F
10/22 00:59, 3F