假设我有TableA w / ID列:
表A
ID
1
2
3
我希望在 TableA 中为每个不同的ID返回N行 (下面的例子是N = 3)
预期输出
ID SEQ
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
这可能是单个SQL语句吗?
谢谢!
答案 0 :(得分:0)
仅获取具有单个ID的行
SELECT * FROM tab_name WHERE col1 = N ORDER BY col2 [DESC]
获取每个ID下的记录数
SELECT id, count(*) as count FROM tab_name GROUP BY id
获取每个特定ID的特定行数
SELECT *
FROM
(SELECT id, col2, ROW_NUMBER() OVER(PARTITION BY t.id ORDER BY col3) colX
FROM tab_name t) outerT
WHERE
outerT.colX < N + 1