Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL如何将查询中的值用于另一个查询_Sql_Postgresql_Select - Fatal编程技术网

SQL如何将查询中的值用于另一个查询

SQL如何将查询中的值用于另一个查询,sql,postgresql,select,Sql,Postgresql,Select,我有一个日期列表,我可以使用: SELECT date from generate_series( '2016-05-09'::date, CURRENT_DATE, '1 day'::interval ) date 我想使用上面列表中的每个值对表执行另一个查询: 我希望实现其中一个日期值的示例: SELECT COUNT(*) FROM table, WHERE table.datecolumn > date 如何对第一个查询中

我有一个日期列表,我可以使用:

SELECT date from 
    generate_series(
      '2016-05-09'::date,
      CURRENT_DATE,
      '1 day'::interval
    ) date
我想使用上面列表中的每个值对表执行另一个查询: 我希望实现其中一个日期值的示例:

SELECT COUNT(*) FROM table,
WHERE table.datecolumn > date 
如何对第一个查询中的所有值执行第二个查询,以获得以下形式的最终输出:

datecol      count
2016-07-09   100
2016-07-10   200
2016-07-11   100

我会使用
LATERAL
join。参见博士后文献

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
您是否尝试过从表中选择COUNT(*)、datecolumn,其中table.datecolumn>date?