簡體   English   中英

對於給定的表,給出每行Oracle SQL的計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM