ホームページ > データベース > mysql チュートリアル > SQL で国ごとに最も頻繁に消費される食品を効率的に見つけるにはどうすればよいですか?

SQL で国ごとに最も頻繁に消費される食品を効率的に見つけるにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-30 02:39:08
オリジナル
319 人が閲覧しました

How Can I Efficiently Find the Most Frequently Consumed Food Item per Country in SQL?

SQL で最も一般的な値を見つけるための効率的なクエリ

次の構造を持つテーブルを考えてみましょう:

  • country: 国のテキスト表現
  • food_id:各種類の食品の一意の識別子
  • 食べた日: 食品が消費された日付

当面の課題は、各国で最も頻繁に消費される食品を特定することです。一般的なアプローチには、質問に示されているように、カウントと最大値を計算するために複数の一時テーブルを作成することが含まれます。ただし、この方法は面倒な場合があり、複数の食品のカウントが同じ場合は関係を解除する必要がある場合があります。

簡略化された解決策

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート