2014-12-02 82 views
0

我的問題是類似how to generate Serial numbers +Add 1 in select statement序列/序列號

但我需要爲下面的序列中的Oracle SQL

表1數據:

facility store  stop_seq 
32   729  1 
32   380  2 
32   603  3 
12   722  4 
12   671  5 
48   423  6 

我需要的結果如下:

facility res_seq 
32   1 
12   2 
48   3 

這裏res_seq應該是基於st op_seq在TABEL 1

請幫

+0

如果使用有效的SQL標識符替換非標準名稱「[序列號]」,鏈接的答案也可以在Oracle中使用。 – 2014-12-02 17:13:07

+0

什麼是設施32將有stop_seqs 1,5和10?對res_seq會有什麼影響? – GolezTrol 2014-12-02 17:23:00

回答

0
select facility, row_number() over(order by max(stop_seq)) res_seq 
from your_tab group by facility; 

ROW_NUMBER在張貼在

分析功能GROUP BY後所執行的問題的鏈接進行了說明,所以在此查詢的數據由facility和彙總然後分配行號

+0

我建議你給你的答案添加一些解釋。僅有代碼的答案有時足夠好,但代碼+解釋答案總是更好 – Barranka 2014-12-02 17:48:25