- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我复制了这篇有用帖子的逻辑 Grouped LIMIT in PostgreSQL: show the first N rows for each group?按组获取前 N 行,按创建日期排序。但是,我真的只对具有最小行数的大容量用户感兴趣。这是否必须作为一组两个不同的查询来完成,或者我可以在下面修改我的查询吗?
SELECT userid, createdat, displaydate
FROM
( SELECT ROW_NUMBER() OVER
(PARTITION BY userid ORDER BY createdat) as r,
t.* FROM data t) x
WHERE x.r <=100
特别是我尝试了以下导致错误的方法:
SELECT userid, createdat, displaydate
FROM
( SELECT ROW_NUMBER() OVER
(PARTITION BY userid ORDER BY createdat) as r,
t.* FROM data t) x
WHERE x.r <=100
HAVING COUNT(*) > 100
理想情况下,对于至少拥有 100 行数据的用户,我会为每个用户获取前 100 行。 我怎样才能做到这一点?
我还怀疑单个查询可能不是执行此操作的最有效方法,即使它是可以实现的。 执行此操作的“最佳实践”方法是什么(当然,我确实需要在自己的系统上测试所有条件)
最佳答案
您还可以使用另一个窗口函数在子查询中进行计数:
SELECT userid, createdat, displaydate
FROM (SELECT t.*,
ROW_NUMBER() OVER (PARTITION BY userid ORDER BY createdat) as seqnum,
COUNT(*) OVER (PARTITION BY userid) as cnt
FROM data t
) x
WHERE x.seqnum <= 100 AND x.cnt > 100;
关于sql - Postgres : return first N rows per group for groups having a minimum countI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38589305/
我正在尝试获取一个变量列并将其分成几列。这些值遵循基本模式,县名称具有多种长度和格式。 State-county : [1] "MA: Bristol County (25005)" [2] "LA:
我正在尝试获取一个变量列并将其分成几列。这些值遵循基本模式,县名称具有多种长度和格式。 State-county : [1] "MA: Bristol County (25005)" [2] "LA:
我复制了这篇有用帖子的逻辑 Grouped LIMIT in PostgreSQL: show the first N rows for each group?按组获取前 N 行,按创建日期排序。但是
我是一名优秀的程序员,十分优秀!