Maison > base de données > tutoriel mysql > Comment récupérer efficacement la valeur minimale de chaque revendeur dans MySQL ?

Comment récupérer efficacement la valeur minimale de chaque revendeur dans MySQL ?

DDD
Libérer: 2024-11-29 11:26:11
original
178 Les gens l'ont consulté

How to Efficiently Retrieve the Minimum Value for Each Dealer in MySQL?

Récupération de la valeur la plus basse par revendeur dans MySQL

Pour une structure de base de données avec des colonnes identifiant, nom, valeur et revendeur, la question se pose comme sur la façon d'obtenir les lignes avec la valeur la plus basse pour chaque revendeur individuel. Lors de la tentative de solutions utilisant MIN() et GROUP BY, aucun résultat satisfaisant n'a été obtenu.

Solution :

Pour résoudre ce problème, deux approches sont disponibles :

Solution 1 :

SELECT t1.* FROM your_table t1
JOIN (
  SELECT MIN(value) AS min_value, dealer
  FROM your_table 
  GROUP BY dealer
) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value
Copier après la connexion

Solution 2 (Recommandé) :

SELECT t1.* FROM your_table t1
LEFT JOIN your_table t2
ON t1.dealer = t2.dealer AND t1.value > t2.value
WHERE t2.value IS NULL
Copier après la connexion

Remarque : La solution 2 est considérablement plus rapide que la solution 1.

Pour plus de détails, reportez-vous au MySQL manuel :

https://dev.mysql.com/doc/refman/8.0/en/group-by-functions.html#function_row-number

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