小编Pro*_*Dev的帖子

PostgreSQL MAX和GROUP BY

我有一张桌子id,yearcount.

我想得到MAX(count)每个id并保持year它发生的时间,所以我做这个查询:

SELECT id, year, MAX(count)
FROM table
GROUP BY id;
Run Code Online (Sandbox Code Playgroud)

不幸的是,它给了我一个错误:

错误:列"table.year"必须出现在GROUP BY子句中或用于聚合函数

所以我尝试:

SELECT id, year, MAX(count)
FROM table
GROUP BY id, year;
Run Code Online (Sandbox Code Playgroud)

但是,它没有做MAX(count),它只是显示表格.我想是因为分组的时候yearid,它得到最大的id是特定年份的.

那么,我该如何编写该查询呢?我想要得到idMAX(count),并在今年这种情况发生的时候.

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

37
推荐指数
2
解决办法
5万
查看次数

标签 统计

greatest-n-per-group ×1

group-by ×1

max ×1

postgresql ×1

sql ×1