簡體   English   中英

從子集中獲取最大值的 SQL 查詢

[英]SQL Query for max value from subsets

我有一個bls_jobs以下列的表bls_jobscitystateocc_titlejobs_1000loc_quotient

我正在嘗試為每個城市檢索最高的loc_quotient (每個城市都有幾個occ_titles ,每個occ_title都有一個loc_quotient

目前,我可以使用這個查詢:

SELECT *
FROM bls_jobs
WHERE city = 'Hattiesburg'
ORDER BY loc_quotient DESC
LIMIT 1

這確實返回了我正在尋找的東西(城市中最高的loc_quotient ,每一列都返回了),但我正在努力弄清楚如何讓它對所有城市都這樣做,所以我的返回輸出只是每個城市的最高loc_quotient以及來自其他列的數據......

distinct on使用distinct on

SELECT DISTINCT ON (j.city) j.*
FROM bls_jobs j
ORDER BY j.city, j.loc_quotient DESC;

DISTINCT ON是一個方便的 Postgres 擴展。 它返回每個組中的第一行,其中組是DISTINCT ON ()子句中的鍵(並且ORDER BY與它們一致)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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