在 Teradata 中创建假索引列 SQL
Create fake indexing column in Teradata SQL
我有声明:
SELECT col_a, col_b, col_c from database.table sample 50;
我希望我的输出看起来像这样:
id col_a col_b col_c
1 data goes here
2 data goes here
3 data goes here
4 data goes here
5 data goes here
6 data goes here
基本上 - 我需要为 id
创建一个从 1 开始的列,并随着检索到的每一行自动递增。
我该怎么做?
您可以使用 row_number()
:
select row_number() over (order by ??) as id, col_a, col_b, col_c
from t;
??
表示 column/expression 给出 id
的排序。
如果您确实想要对采样行进行编号:
SELECT ROW_NUMBER() OVER (ORDER BY some_field),
dt.*
FROM
(
SELECT col_a, col_b, col_c
FROM database.table
SAMPLE 50
) AS dt
您也可以使用 TOP
而不是 SAMPLE
,但那样就不再是随机的了。
我有声明:
SELECT col_a, col_b, col_c from database.table sample 50;
我希望我的输出看起来像这样:
id col_a col_b col_c
1 data goes here
2 data goes here
3 data goes here
4 data goes here
5 data goes here
6 data goes here
基本上 - 我需要为 id
创建一个从 1 开始的列,并随着检索到的每一行自动递增。
我该怎么做?
您可以使用 row_number()
:
select row_number() over (order by ??) as id, col_a, col_b, col_c
from t;
??
表示 column/expression 给出 id
的排序。
如果您确实想要对采样行进行编号:
SELECT ROW_NUMBER() OVER (ORDER BY some_field),
dt.*
FROM
(
SELECT col_a, col_b, col_c
FROM database.table
SAMPLE 50
) AS dt
您也可以使用 TOP
而不是 SAMPLE
,但那样就不再是随机的了。