2014-12-03 87 views
0

我期待在一個簡單的計數器中添加一個SQL查詢 - 也就是說,如果我對返回3個結果的單個姓氏運行查詢,我希望結果能夠從查詢中顯示它們的行值。例如:Oracle - 添加計數器到查詢

Surnames Counter 
Smith   1 
Murphy  2 
Brown   3 

這怎麼辦?

+0

根據哪種排序標準你想要「計數器」? – 2014-12-03 16:07:33

回答

1
select a.* 
, rownum rnum 
from 
(select surname from name_table order by surname) a 

將讓你一個簡單的編號(根據surname順序,但不會與關係處理

1

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 
+0

第二個查詢將返回最大值到最小值的結果,您必須使用desc按順序顯示爲1,2,3,等等...... – HaveNoDisplayName 2014-12-03 16:24:39

0
SELECT Surnames,row_number() OVER (ORDER BY Surnames) as Counter FROM table; 
0

創造學習名字類似 'ROWNUMBER' SQL表達式場與簡單的 'ROWNUM' 的說法。將該字段添加到詳細信息行中的所需位置,然後按照表達式字段的名稱對報告進行排序,在這種情況下,請使用「RowNumber」。