Heim >Datenbank >MySQL-Tutorial >Wie kann ich in SQL effizient die am häufigsten konsumierten Lebensmittel pro Land finden?
Effiziente Abfrage zum Finden der häufigsten Werte in SQL
Betrachten Sie eine Tabelle mit der folgenden Struktur:
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!