SQL で最も一般的な値を見つけるための効率的なクエリ
次の構造を持つテーブルを考えてみましょう:
当面の課題は、各国で最も頻繁に消費される食品を特定することです。一般的なアプローチには、質問に示されているように、カウントと最大値を計算するために複数の一時テーブルを作成することが含まれます。ただし、この方法は面倒な場合があり、複数の食品のカウントが同じ場合は関係を解除する必要がある場合があります。
簡略化された解決策
PostgreSQL 9.4 では、mode() 関数が導入されました。これは、より単純なアプローチを提供します:
select mode() within group (order by food_id) from munch group by country
このクエリは、各国で最も一般的な食品を返します。複雑な計算や一時テーブルの必要性を効果的に排除します。結果は次のように表示されます:
country | mode -------------- GB | 3 US | 1
以上がSQL で国ごとに最も頻繁に消費される食品を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。