如何生成一个虚拟表,生成日期在PostgreSQL的序列
发布网友
发布时间:2022-04-07 20:48
我来回答
共1个回答
热心网友
时间:2022-04-07 22:17
日期一览表 使用generate_series函数来获得,你可以添加到一个日期,以便获得日期列表号码列表:SELECT CURRENT_DATE + s.a AS dates
FROM generate_series(0,14,7) as s(a);
结果:dates
------------
2004-02-05
2004-02-12
2004-02-19
旋转 转换行数据为柱状的数据-你的问题涉及旋转结果集的后半部分。 PIVOT和UNPIVOT是ANSI,但在PostgreSQL目前我没有看到他们。最persistent枢轴查询的是aggregation函数: SELECT t.account,
SUM(CASE WHEN t.date = '2010-01-01' THEN t.amount END) AS '2010-01-01',
SUM(CASE WHEN t.date = '2010-01-02' THEN t.amount END) AS '2010-01-02',
SUM(CASE WHEN t.date = '2010-01-03' THEN t.amount END) AS '2010-01-03',
SUM(t.amount) AS Balance
FROM (SELECT CURRENT_DATE + s.a AS dates
FROM generate_series(0,14,7) as s(a)) x
LEFT JOIN TRANSACTIONS y ON y.date = x.date
GROUP BY t.account
动态列 ...指动态SQL。