Maison > base de données > tutoriel mysql > Comment récupérer la ligne avec la valeur la plus basse pour chaque revendeur dans MySQL ?

Comment récupérer la ligne avec la valeur la plus basse pour chaque revendeur dans MySQL ?

Patricia Arquette
Libérer: 2024-11-30 16:50:13
original
499 Les gens l'ont consulté

How to Retrieve the Row with the Lowest Value for Each Dealer in MySQL?

Récupération des valeurs les plus basses pour chaque revendeur dans MySQL

Problème

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.

Solution

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;
Copier après la connexion

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;
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal