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

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

Susan Sarandon
Susan SarandonOriginal
2025-01-06 00:24:38352Durchsuche

How Can I Efficiently Find the Most Frequently Consumed Food Per Country in PostgreSQL?

Effizientes Abrufen häufig auftretender Werte in SQL

Stellen Sie sich eine Datenbanktabelle vor, die Daten zu Ländern, Lebensmitteln und Essensverbrauch enthält. Um die am häufigsten konsumierten Lebensmittel für jedes Land zu ermitteln, könnte man sich einen mehrstufigen Ansatz vorstellen, wie in der Referenzabfrage beschrieben. Moderne Datenbanksysteme bieten jedoch prägnantere und optimiertere Lösungen.

PostgreSQL-Optimierung mit der Funktion mode()

PostgreSQL Version 9.4 führte die Aggregatfunktion mode() ein, die erheblich ist vereinfacht die Aufgabe, die häufigsten Werte in gruppierten Daten zu identifizieren. Die folgende Abfrage demonstriert ihre Verwendung:

SELECT mode() WITHIN GROUP (ORDER BY food_id)
FROM munch
GROUP BY country

Diese Abfrage erzeugt eine Tabelle mit zwei Spalten: Land und Modus, wobei letzterer die häufigste food_id für jedes Land darstellt. Die ORDER BY-Klausel stellt sicher, dass Bindungen zugunsten der kleinsten food_id unterbrochen werden.

Zusätzliche Ressourcen und Verbesserungen

  • Weitere Dokumentation zur Funktion mode() Weitere Informationen finden Sie im PostgreSQL-Wiki: https://wiki.postgresql.org/wiki/Aggregate_Mode
  • Allgemeine Informationen zu Aggregatfunktionen in PostgreSQL finden Sie unter: https://www.postgresql.org/docs/current/static/functions-aggregate.html#FUNCTIONS-ORDEREDSET-TABLE

Das obige ist der detaillierte Inhalt vonWie kann ich in PostgreSQL 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