我有一个日期列表,我可以使用它生成:
null
我想使用上面列表中的每个值对表执行另一个查询: 我希望为其中一个日期值实现的示例:
SELECT date from
generate_series(
'2016-05-09'::date,
CURRENT_DATE,
'1 day'::interval
) date
如何对第一个查询中的所有值执行第二个查询,以便在表单中稍微获得最终输出:
SELECT COUNT(*) FROM table,
WHERE table.datecolumn > date
答案 0 :(得分:1)
我使用LATERAL
加入。请参阅Postgres文档中的7.2.1.5. LATERAL Subqueries。
SELECT
dates.dt, Counts.c
FROM
generate_series(
'2016-05-09'::date,
CURRENT_DATE,
'1 day'::interval
) AS dates(dt)
INNER JOIN LATERAL
(
SELECT COUNT(*) AS c
FROM table
WHERE table.datecolumn > dates.dt
) AS Counts ON true