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
Postgresql 获得每一个第七记录_Postgresql - Fatal编程技术网

Postgresql 获得每一个第七记录

Postgresql 获得每一个第七记录,postgresql,Postgresql,我在PostgreSQL表中有一个统计表: article_id | date | read_count 1 | 2011-06-02 | 12 1 | 2011-06-03 | 54 1 | 2011-06-04 | 2 1 | 2011-06-05 | 432 当我需要图表中的数据时,我需要得到每周的数值 我知道Postgres有一个行数函数,无论如何我没有让它正常工作 SELECT "date", "re

我在PostgreSQL表中有一个统计表:

article_id | date       | read_count
    1      | 2011-06-02 | 12
    1      | 2011-06-03 | 54
    1      | 2011-06-04 | 2
    1      | 2011-06-05 | 432
当我需要图表中的数据时,我需要得到每周的数值

我知道Postgres有一个行数函数,无论如何我没有让它正常工作

SELECT "date", "read_count" FROM "articles_stats" 
WHERE row_number() OVER (ORDER BY "date" ASC) % 7 = 0
ORDER BY "date" ASC
错误:WHERE子句中不允许使用来自@链接的窗口函数

如果需要对窗口后的行进行筛选或分组 如果执行计算,则可以使用子选择

例如:

  SELECT * 
    FROM (
          SELECT "date", "read_count", 
                 row_number() OVER (ORDER BY "date" ASC) as n
            FROM "articles_stats" 
         ) x
   WHERE x.n % 7 = 0
ORDER BY x."date" ASC
从"链接",

如果需要对窗口后的行进行筛选或分组 如果执行计算,则可以使用子选择

例如:

  SELECT * 
    FROM (
          SELECT "date", "read_count", 
                 row_number() OVER (ORDER BY "date" ASC) as n
            FROM "articles_stats" 
         ) x
   WHERE x.n % 7 = 0
ORDER BY x."date" ASC

我应该解释错误的含义——并希望能够洞察如何解决。我实际上知道错误的含义,我只是在问如何解决问题-关键是窗口函数不能在语句的WHERE中工作,因为结果集和顺序都还没有应用。我应该解释错误的含义——并希望能够洞察如何解决。我实际上知道错误的含义,我只是在问如何解决问题-好的,关键是窗口函数不能在该语句的WHERE中工作,因为结果集和排序都尚未应用。您可以使用行数作为n,我认为这会使查询更有效,因为排序更少。您可以使用行数作为n,我想这会使查询更有效,因为排序的过程更少。