我期待在一個簡單的計數器中添加一個SQL查詢 - 也就是說,如果我對返回3個結果的單個姓氏運行查詢,我希望結果能夠從查詢中顯示它們的行值。例如:Oracle - 添加計數器到查詢
Surnames Counter
Smith 1
Murphy 2
Brown 3
這怎麼辦?
我期待在一個簡單的計數器中添加一個SQL查詢 - 也就是說,如果我對返回3個結果的單個姓氏運行查詢,我希望結果能夠從查詢中顯示它們的行值。例如:Oracle - 添加計數器到查詢
Surnames Counter
Smith 1
Murphy 2
Brown 3
這怎麼辦?
select a.*
, rownum rnum
from
(select surname from name_table order by surname) a
將讓你一個簡單的編號(根據surname
順序,但不會與關係處理
的row_number
analyitic功能應該做的伎倆:
SELECT surname, ROW_NUMBER() OVER (ORDER BY surname) AS counter
FROM my_table
編輯:
在這樣一個簡單的查詢中,您可以使用rownum僞列:
SELECT surname, rownum
FROM my_table
ORDER BY 1 DESC
第二個查詢將返回最大值到最小值的結果,您必須使用desc按順序顯示爲1,2,3,等等...... – HaveNoDisplayName 2014-12-03 16:24:39
你可以試試這個
SELECT Surnames,row_number() OVER (ORDER BY Surnames)
FROM t
SQL小提琴: -http://sqlfiddle.com/#!4/ad3aa/3
SELECT Surnames,row_number() OVER (ORDER BY Surnames) as Counter FROM table;
創造學習名字類似 'ROWNUMBER' SQL表達式場與簡單的 'ROWNUM' 的說法。將該字段添加到詳細信息行中的所需位置,然後按照表達式字段的名稱對報告進行排序,在這種情況下,請使用「RowNumber」。
根據哪種排序標準你想要「計數器」? – 2014-12-03 16:07:33