2014-12-02 91 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