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

Comment trouver la ligne avec la valeur la plus basse pour chaque revendeur dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-11-29 08:10:11
original
462 Les gens l'ont consulté

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

Obtention de la valeur la plus basse pour chaque revendeur dans MySQL

Considérons une base de données avec la structure suivante :

CREATE TABLE your_table (
  id INT NOT NULL,
  name VARCHAR(255) NOT NULL,
  value INT NOT NULL,
  dealer VARCHAR(255) NOT NULL
);
Copier après la connexion

Objectif : Récupérer la ligne avec la valeur la plus basse pour chaque unique revendeur.

Solution :

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

Discussion :

La solution 1 utilise une sous-requête pour trouver la valeur minimale de chaque concessionnaire, puis joint ces informations à la table originale pour collecter les données complètes de la ligne. La solution 2, en revanche, utilise une jointure gauche optimisée pour éliminer toutes les lignes avec des valeurs plus élevées pour le même concessionnaire, renvoyant ainsi uniquement celles avec les valeurs les plus basses.

MySQL fournit une section dédiée dans sa documentation à cet effet. Scénario fréquemment rencontré, intitulé « Lignes contenant le maximum/minimum par groupe d'une certaine colonne ». Reportez-vous à cette documentation pour plus de détails et d'exemples.

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
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