相关疑难解决方法(0)

如何在PostgreSQL中按类别选择最大日期ID?

举个例子,我想按类别选择带有最大日期组的id,结果是:7,2,6

id  category  date
1   a         2013-01-01
2   b         2013-01-03
3   c         2013-01-02
4   a         2013-01-02
5   b         2013-01-02
6   c         2013-01-03
7   a         2013-01-03
8   b         2013-01-01
9   c         2013-01-01
Run Code Online (Sandbox Code Playgroud)

我可以在PostgreSQL中知道如何做到这一点吗?

sql postgresql greatest-n-per-group

72
推荐指数
3
解决办法
9万
查看次数

PostgreSQL:同一个表中每个项目的前n个条目

| uId |   title   |  amount  |  makers  |  widgets  |
   1     richard      998       xcorp     sprocket
   2     swiss        995       ycorp     framitz
   3     ricky         90       zcorp     flobber
   4     ricky2       798       xcorp     framitz
   1     lilrick      390       xcorp     sprocket
   1     brie         200       mcorp     gullywok
   1     richard      190       rcorp     flumitz
   1     brie         490       bcorp     sprocket
Run Code Online (Sandbox Code Playgroud)

等等...

我试图每个只检索3条记录makers,前3条amountswidgets它们产生

这就是我所拥有的:

SELECT amount, makers FROM (SELECT amount, makers, (SELECT count(*) FROM  entry  as t2
WHERE t2.amount = t1.amount and t2.makers >= …
Run Code Online (Sandbox Code Playgroud)

sql postgresql greatest-n-per-group

5
推荐指数
1
解决办法
6221
查看次数

PostgreSQL:选择每组中的前三名

以下是我的示例表和行

create table com (company text,val int);


insert into com values ('com1',1),('com1',2),('com1',3),('com1',4),('com1',5);

insert into com values ('com2',11),('com2',22),('com2',33),('com2',44),('com2',55);

insert into com values ('com3',111),('com3',222),('com3',333),('com3',444),('com3',555);
Run Code Online (Sandbox Code Playgroud)

我希望获得每家公司的前三大价值,预计产量为:

company  val
---------------
com1     5
com1     4
com1     3
com2     55
com2     44
com2     33
com3     555
com3     444
com3     333
Run Code Online (Sandbox Code Playgroud)

sql postgresql group-by greatest-n-per-group

2
推荐指数
2
解决办法
9602
查看次数

标签 统计

greatest-n-per-group ×3

postgresql ×3

sql ×3

group-by ×1