Maison >base de données >tutoriel mysql >Comment récupérer efficacement la valeur minimale de chaque revendeur dans 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
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
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!