Postgresql 获得每一个第七记录
我在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
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,我想这会使查询更有效,因为排序的过程更少。