[英]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.