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

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

Patricia Arquette
Patricia ArquetteOriginal
2024-11-30 16:50:13447Durchsuche

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

Abrufen der niedrigsten Werte für jeden Händler in MySQL

Problem

In einer Datenbank, die eine Tabelle mit den Spalten ID, Name, Wert und Händler enthält, Die Aufgabe besteht darin, für jedes Unique die Zeile mit dem niedrigsten Wert abzurufen Händler.

Lösung

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

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

Dieses Problem ist allgemein als „Zeile, die das gruppenweise Maximum/Minimum eines bestimmten Werts enthält“ bekannt Spalte." Die zweite Lösung ist im Allgemeinen effizienter als die erste.

Weitere Informationen finden Sie auf der entsprechenden Seite im MySQL-Handbuch: https://dev.mysql.com/doc/refman/8.0/en/group -by-rows-max-min.html

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

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