[英]For a given table give out the count for each row Oracle SQL
如果我有這樣的一張桌子:
ID | Name | Payment
----------------------
101 | Victor | 10
103 | Andy | 13
134 | Mai | 2
156 | Chris | 68
179 | Ryan | 43
我想要一個查詢,給出以下內容
[Count] | ID | Name | Payment
----------------------
1 | 101 | Victor | 10
2 | 103 | Andy | 13
3 | 134 | Mai | 2
4 | 156 | Chris | 68
5 | 179 | Ryan | 43
因此它給出了每一行的數量,但是我不知道該怎么做(是SQL的初學者)。 有小費嗎?
只需使用row_number()
:
select row_number() over (order by id) as "Count",
t.*
from t
order by "Count";
您應該同時order by
s來order by
以確保行上的編號正確並且結果集中的行順序正確。
使用dense_rank()
select *,dense_rank() over(order by id) from t
或者你可以使用count()
select *,count(*) over(order by id) from t
簡單
select rownum, ID , Name, Payment from table
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.