2011-09-28 92 views
2

我在枚舉某個視圖內的組。在查詢中枚舉組

例,從這樣的觀點:

ID  FK1  FK2 FK3 FK4 
104091 10160 1 1 29152 
106797 10161 2 1 NULL 
34682 10162 1 6 28556 
61582 10162 1 6 28557 
53045 10163 1 1 29154 
23918 10164 1 6 28731 
34683 10164 1 6 28729 
89003 10164 1 4 28728 
50547 10164 1 4 28727 
50548 10165 1 6 29846 
34684 10165 1 5 29847 
23919 10165 1 5 29844 

我想有這樣的:

ID  FK1  FK2 FK3 FK4  C 
104091 10160 1 1 29152 1 
106797 10161 2 1 NULL 2 
34682 10162 1 6 28556 3 
61582 10162 1 6 28557 3 
53045 10162 1 1 29154 4 
23918 10164 1 6 28731 5 
34683 10164 1 6 28729 5 
89003 10164 1 4 28728 6 
50547 10164 1 4 28727 6 
50548 10165 1 6 29846 7 
34684 10165 1 5 29847 8 
23919 10165 1 5 29844 8 

正如你所看到的,它看起來像一個

ROW_NUMBER() OVER (PARTITION BY FK1, FK2, FK3 ORDER BY FK1, FK2, FK3) AS C 

隨着PARTITION BY重置每個組的row_number的唯一區別。相反,我想每個組都有一個唯一的編號。更像是一個GROUP_NUMBER()

我希望這個問題是清楚不過了:)

回答

3
DENSE_RANK() OVER (ORDER BY FK1, FK2, FK3) AS C 

應該做你所需要的。

+0

這正是我所期待的!非常感謝! – Kralizek