2014-01-22 109 views
0

我使用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?

謝謝!

回答

1

Postgres有做這個的語法distinct on

select distinct on (name) p.surname 
from person p 
order by name, age desc 
相關問題