2

我想使用公用表表达式向表中添加一个自动递增的列。

假设我们有一个TEMP包含一列的表,COL如下所示:

表温度

+---+
|COL|
+---+
|a  |
+---+
|b  |
+---+
|c  |
+---+
|d  |
+---+
|e  |
+---+
|f  |
+---+
|g  |
+---+
|h  |
+---+

是否可以在临时表中添加一个自增列并得到以下结果?

表 CTE

+---+--+
|COL|ID|
+---+--+
|a  |1 |
+---+--+
|b  |2 |
+---+--+
|c  |3 |
+---+--+
|d  |4 |
+---+--+
|e  |5 |
+---+--+
|f  |6 |
+---+--+
|g  |7 |
+---+--+
|h  |8 |
+---+--+

是否可以使用 CTE 做到这一点?

4

1 回答 1

3

例如,您只需要一个分析查询,row_number()它返回一个分区内的行序列(非必需),并按照指定的顺序。

select col, row_number() over ( order by col ) as id
  from temp
于 2013-06-09T16:48:34.790 回答