Heim >Datenbank >MySQL-Tutorial >Wie finde ich die häufigste Lebensmittel-ID pro Land in SQL?

Wie finde ich die häufigste Lebensmittel-ID pro Land in SQL?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 14:50:10794Durchsuche

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

Den häufigsten Wert für eine Spalte anhand des Werts einer anderen Spalte in SQL finden

In einem Szenario, in dem eine Tabelle mehrere Spalten enthält, z „country“, „food_id“ und „eaten“ besteht eine häufige Aufgabe darin, den am häufigsten vorkommenden Wert für eine Spalte („food_id“) innerhalb jedes eindeutigen Werts einer anderen Spalte zu ermitteln („Land“).

Ein Ansatz, wie in der Frage erwähnt, besteht darin, temporäre Tabellen zu erstellen und mehrere Unterabfragen durchzuführen, um die Anzahl zu berechnen, die maximale Anzahl zu ermitteln und die entsprechenden „food_id“-Werte abzurufen. Obwohl diese Methode funktionsfähig ist, kann sie umständlich erscheinen.

Glücklicherweise hat PostgreSQL 9.4 eine einfachere Lösung eingeführt: die Funktion mode(). Diese Funktion bietet eine effiziente Möglichkeit, den häufigsten Wert für eine bestimmte Spalte innerhalb jeder durch einen Gruppierungsausdruck definierten Gruppe zu finden.

Um die mode()-Funktion für diese Aufgabe zu verwenden, kann die folgende SQL-Abfrage verwendet werden:

SELECT mode() within group (order by food_id)
FROM munch
GROUP BY country

Diese Abfrage nutzt die Funktion mode(), um den häufigsten „food_id“-Wert für jeden eindeutigen „country“-Wert zu berechnen. Die WITHIN GROUP (ORDER BY food_id)-Klausel stellt sicher, dass die Funktion mode() auf die Spalte „food_id“ innerhalb jeder Ländergruppe einwirkt und die Werte in aufsteigender Reihenfolge sortiert, bevor der Modus identifiziert wird.

Das Ergebnis dieser Abfrage wird, wie auch in der bereitgestellten Antwort gezeigt, eine Tabelle sein, die das „Land“ und den entsprechenden häufigsten „food_id“-Wert anzeigt:

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

Das obige ist der detaillierte Inhalt vonWie finde ich die häufigste Lebensmittel-ID pro Land in SQL?. 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