[英]How to get one row per group in PostgreSQL?
我有以下數據:
customerid addressid
939 936
939 35485
1915 2224
1915 34236
6005 7012
6005 27914
由該查詢給出:
select customerid ,addressid
from addresses
where .....
我希望查詢僅返回每個客戶一個地址,我不在乎它將是哪個地址。 因此,所需的輸出可以是:
addressid
936
2224
7012
要么
addressid
936
34236
7012
等等..
我試着做:
select DISTINCT customerid ,addressid
from addresses
where .....
但是它什么也沒做。。。我想到做GROUP BY customerid
但是后來我失去了addressid
。 我怎樣才能做到這一點?
按customerid
分組,由於它可以是任何地址,因此請使用諸如max()
之類的聚合函數來獲取最高的
select customerid, max(addressid)
from addresses
group by customerid
如果您不在乎它是哪個地址,這是一個簡單的group by
:
select customerid, max(addressid) as addressid
from addresses
group by customerid
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.