我有结构为“位置”,“值”的数据。无论“值”列如何,我都希望该位置显示为单独的行。
例如:A, 500
是一行,并且我希望“ A”显示为500个不同的行。
答案 0 :(得分:0)
这可以使用数字表和范围联接来完成。
CREATE TEMP TABLE numbers AS
SELECT ROW_NUMBER() OVER() as "number"
FROM stl_scan
LIMIT 10;
CREATE TEMP TABLE data AS
SELECT 'a' value, 3 occurence
UNION ALL
SELECT 'b' value, 6 occurence;
SELECT data.value
,numbers.number instance
FROM data
JOIN numbers
ON data.occurence >= numbers.number
ORDER BY 1,2;
输出
value | instance
-------+----------
a | 1
a | 2
a | 3
b | 1
b | 2
b | 3
b | 4
b | 5
b | 6