Postgresql:如何从每个组类别中选择前n个%(%)条目

Postgresql:如何从每个组类别中选择前n个%(%)条目,第1张

Postgresql:如何从每个组/类别中选择前n个%(%)条目

要基于每个组中行数的百分比来检索行,可以使用两个窗口函数:一个对行进行计数,另一个对行赋予唯一编号。

select gp,       valfrom (  select gp,          val,         count(*) over (partition by gp) as cnt,         row_number() over (partition by gp order by val desc) as rn  from temp) twhere rn / cnt <= 0.75;

SQLFiddle示例:http
://sqlfiddle.com/#!15/94fdd/1


顺便说一句:使用

char
几乎总是一个坏主意,因为它是固定长度的数据类型,被填充为定义的长度。我希望您只是为了设置示例而已,不要在实际表中使用它。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5036212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存