首頁 > 資料庫 > mysql教程 > 如何在 SQL 中找到每個國家/地區最常見的食品 ID?

如何在 SQL 中找到每個國家/地區最常見的食品 ID?

Susan Sarandon
發布: 2024-12-19 14:50:10
原創
755 人瀏覽過

How to Find the Most Frequent Food ID per Country in SQL?

在 SQL中給定另一列的值,找出某一列最常見的值

在表包含多個列的場景中,例如“country”、“food_id”和“eaten”,一項常見任務是確定其中一列(“food_id”)最常出現的值另一列(“國家/地區”)的每個唯一值。

問題中提到的一種方法涉及建立臨時表並執行多個子查詢來計算計數、尋找最大計數並檢索相應的「 food_id」值。雖然這個方法很實用,但看起來很麻煩。

幸運的是,PostgreSQL 9.4 引入了一個更簡單的解決方案:mode() 函數。此函數提供了一種有效的方法來尋找分組表達式定義的每個群組中指定列的最常見值。

要使用mode() 函數執行此任務,可以使用以下SQL 查詢:

SELECT mode() within group (order by food_id)
FROM munch
GROUP BY country
登入後複製

此查詢利用mode() 函數來計算每個唯一「國家」值的最常見“food_id”值。 WITHIN GROUP (ORDER BY food_id) 子句確保 mode() 函數對每個國家/地區群組內的「food_id」欄位進行操作,在識別模式之前按升序對值進行排序。

此查詢的結果正如所提供的答案中所演示的,將是一個顯示“國家/地區”及其相應的最常見“food_id”值的表格:

country | mode
--------------
GB      | 3
US      | 1
登入後複製

以上是如何在 SQL 中找到每個國家/地區最常見的食品 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板