Heim >Datenbank >MySQL-Tutorial >Wie kann ich in SQL effizient die am häufigsten konsumierten Lebensmittel pro Land finden?

Wie kann ich in SQL effizient die am häufigsten konsumierten Lebensmittel pro Land finden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-30 02:39:08321Durchsuche

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

Effiziente Abfrage zum Finden der häufigsten Werte in SQL

Betrachten Sie eine Tabelle mit der folgenden Struktur:

  • Land: Textdarstellung eines Landes
  • food_id: Eindeutige Kennung für jede Art von Lebensmittel
  • verzehrt: Datum, an dem das Lebensmittel verzehrt wurde

Die Aufgabe besteht darin, für jedes Land das am häufigsten verzehrte Lebensmittel zu ermitteln. Ein gängiger Ansatz besteht darin, mehrere temporäre Tabellen zu erstellen, um Anzahlen und Maximalwerte zu berechnen, wie in der Frage gezeigt. Diese Methode kann jedoch umständlich sein und das Aufbrechen von Verbindungen erforderlich machen, wenn mehrere Lebensmittel die gleiche Anzahl haben.

Eine vereinfachte Lösung

PostgreSQL 9.4 hat die Funktion mode() eingeführt. was einen einfacheren Ansatz bietet:

select mode() within group (order by food_id)
from munch
group by country

Diese Abfrage gibt das am häufigsten vorkommende Lebensmittel für jedes Land zurück, wodurch die Notwendigkeit einer Komplexität effektiv entfällt Berechnungen und temporäre Tabellen. Die Ergebnisse werden wie folgt dargestellt:

country | mode
--------------
GB      | 3
US      | 1

Das obige ist der detaillierte Inhalt vonWie kann ich in SQL effizient die am häufigsten konsumierten Lebensmittel pro Land finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn