簡體   English   中英

如何在PostgreSQL中每組獲取一行?

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

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