Maison > base de données > tutoriel mysql > Comment puis-je trouver efficacement la valeur la plus fréquente dans une colonne pour chaque valeur unique dans une autre colonne à l'aide de SQL ?

Comment puis-je trouver efficacement la valeur la plus fréquente dans une colonne pour chaque valeur unique dans une autre colonne à l'aide de SQL ?

DDD
Libérer: 2025-01-03 02:13:43
original
181 Les gens l'ont consulté

How Can I Efficiently Find the Most Frequent Value in One Column for Each Unique Value in Another Column Using SQL?

Recherche de la valeur la plus courante pour chaque valeur dans une autre colonne en SQL

Lorsque vous travaillez avec des données tabulaires, il est souvent nécessaire d'identifier le valeurs les plus fréquentes pour une colonne particulière. Dans le contexte de SQL, cela peut être réalisé en utilisant diverses méthodes.

Approche conventionnelle :

Une approche courante consiste à utiliser une série d'étapes intermédiaires, comme démontré dans la question. Cela implique de créer des tables temporaires pour compter les occurrences, identifier les valeurs maximales et regrouper les résultats de manière appropriée. Bien que cette méthode soit fonctionnelle, elle peut être lourde et sujette aux erreurs.

Solution élégante :

Les versions modernes de SQL, telles que PostgreSQL 9.4 et versions ultérieures, offrent des solutions pour cette tâche. La fonction mode() renvoie la valeur la plus courante au sein d'un groupe spécifié. Cela élimine le besoin d'agrégation et de manipulation complexes.

Exemple :

Considérez le tableau suivant :

Column Type Modifiers
country text
food_id int
eaten date

Pour trouver la nourriture qui est consommé le plus souvent pour chaque pays, on peut utiliser la requête suivante :

select mode() within group (order by food_id)
from munch
group by country
Copier après la connexion

Cette requête renvoie directement le mode pour chaque pays, offrant une approche plus simple et efficace.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal