Does anyone know how to expand a frequency table in PostgreSQL?

For example, transform table x:

data   | frequency
-------+-----------
string |         4

into

data   | index 
-------+-------
string |     1
string |     2
string |     3
string |     4

Set up code:

CREATE TABLE x (
  data TEXT,
  frequency INTEGER
);
INSERT INTO x VALUES ('string',4);
有帮助吗?

解决方案

This is amazingly simple with generate_series():

SELECT data, generate_series(1, frequency) AS index
FROM   x;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top