簡體   English   中英

選擇記錄字段包含另一個字段的最大值

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM