[英]Select field of record contains max of another field
我正在使用PostgreSQL版本9.x
我想选择一个记录的字段,该字段包含分组项中归档的最大值。 假设这些是我的表格和内容;
id | name | surname | age
1 ahmet adal1 25
2 mehmet mdal2 23
3 ahmet adal3 27
4 ahmet adal4 22
5 mehmet mdal5 28
我想按名称对所有记录进行分组,然后选择包含最长使用期限的记录的姓。
我应该得到结果;
adal3
mdal5
这是我要运行的查询;
select p.surname
from person p
group by name
having max(age)
我知道这不起作用,并且表达式必须为布尔值。 我这样做只是为了更好地说明自己。
有没有办法得到我想要的sql,尤其是PostgreSQL?
谢谢!
Postgres具有与此distinct on
的语法:
select distinct on (name) p.surname
from person p
order by name, age desc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.