Dans une base de données contenant une table avec des colonnes identifiant, nom, valeur et revendeur, la tâche consiste à récupérer la ligne avec la valeur la plus basse pour chaque unique revendeur.
Méthode 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;
Méthode 2 (recommandée) :
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;
Ce problème est communément appelé « Ligne contenant le maximum/minimum par groupe d'un certain Colonne." La deuxième solution est généralement plus efficace que la première.
Pour plus d'informations, reportez-vous à la page correspondante du manuel MySQL : https://dev.mysql.com/doc/refman/8.0/en/group -by-rows-max-min.html
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!