2011-04-16 86 views
0

SQL Server的數列:獲得訪問

SELECT col1, col2,ROW_NUMBER() OVER (order BY col1) AS intRow FROM Table1 

什麼是訪問的等同的代碼?

+0

請參閱http://stackoverflow.com/a/17279417/122139上的答案。 – Smandoli 2013-06-24 15:48:51

回答

1

總之,沒有相應的東西。如果你想要一個序列,一種方法是創建一個帶有自動編號列的表格。另一種方式是這樣的:

Select .., 
    , (
     Select Count(*) 
     From MyTable As T1 
     Where T1.PrimaryKeyCol < T.PrimaryKeyCol 
     ) + 1 As Seq 
From MyTable As T 

但是,如果表很大,那可能表現不佳。

+0

ROW_NUMBER是ANSI,供應商實現正在增加。但是'SELECT COUNT(...'subselect輸出將類似於'DENSE_RANK'輸出而不是ROW_NUMBER,因爲重複項會得到相同的'seq'值。 – 2011-04-16 21:47:44