Heim > Datenbank > MySQL-Tutorial > Wie finde ich die Zeile mit dem niedrigsten Wert für jeden Händler in MySQL?

Wie finde ich die Zeile mit dem niedrigsten Wert für jeden Händler in MySQL?

Mary-Kate Olsen
Freigeben: 2024-11-29 08:10:11
Original
393 Leute haben es durchsucht

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

Den niedrigsten Wert für jeden Händler in MySQL erhalten

Stellen Sie sich eine Datenbank mit der folgenden Struktur vor:

CREATE TABLE your_table (
  id INT NOT NULL,
  name VARCHAR(255) NOT NULL,
  value INT NOT NULL,
  dealer VARCHAR(255) NOT NULL
);
Nach dem Login kopieren

Ziel: Rufen Sie die Zeile mit dem niedrigsten Wert für jedes Unique ab Händler.

Lösung:

Lösung 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;
Nach dem Login kopieren

Lösung 2 (Empfohlen):

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;
Nach dem Login kopieren

Diskussion:

Lösung 1 verwendet eine Unterabfrage, um den Mindestwert für jeden Händler zu ermitteln, und verknüpft diese Informationen dann mit dem Originaltabelle, um die vollständigen Zeilendaten zu sammeln. Lösung 2 hingegen verwendet einen optimierten Left-Join, um alle Zeilen mit größeren Werten für denselben Händler zu eliminieren und effektiv nur diejenigen mit den niedrigsten Werten zurückzugeben.

MySQL bietet hierfür einen eigenen Abschnitt in seiner Dokumentation Häufig anzutreffendes Szenario mit dem Titel „Zeilen halten das gruppenweise Maximum/Minimum einer bestimmten Spalte.“ Weitere Details und Beispiele finden Sie in dieser Dokumentation.

Das obige ist der detaillierte Inhalt vonWie finde ich die Zeile mit dem niedrigsten Wert für jeden Händler in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage