Maison >base de données >tutoriel mysql >Comment puis-je trouver efficacement les aliments les plus fréquemment consommés par pays dans PostgreSQL ?

Comment puis-je trouver efficacement les aliments les plus fréquemment consommés par pays dans PostgreSQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-06 00:24:38360parcourir

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

Récupérer efficacement les valeurs fréquentes en SQL

Considérez une table de base de données contenant des données sur les pays, les produits alimentaires et la consommation aux repas. Pour déterminer l’aliment le plus fréquemment consommé dans chaque pays, on pourrait envisager une approche en plusieurs étapes, comme celle décrite dans la requête de référence. Cependant, les systèmes de bases de données modernes offrent des solutions plus concises et optimisées.

Optimisation PostgreSQL avec la fonction mode()

PostgreSQL version 9.4 a introduit la fonction d'agrégation mode(), qui a considérablement simplifie la tâche d'identification des valeurs les plus courantes au sein des données groupées. La requête suivante démontre son utilisation :

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

Cette requête produit un tableau à deux colonnes : country et mode, où cette dernière représente le food_id le plus fréquent pour chaque pays. La clause ORDER BY garantit que les égalités sont rompues en faveur du plus petit food_id.

Ressources et améliorations supplémentaires

  • Pour plus de documentation sur la fonction mode() , reportez-vous au wiki PostgreSQL : https://wiki.postgresql.org/wiki/Aggregate_Mode
  • Pour des informations générales Pour plus d'informations sur les fonctions d'agrégation dans PostgreSQL, visitez : https://www.postgresql.org/docs/current/static/functions-aggregate.html#FUNCTIONS-ORDEREDSET-TABLE

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn