Heim > Datenbank > MySQL-Tutorial > Wie wähle ich in SQL eindeutige Zeilen mit dem Mindestwert aus?

Wie wähle ich in SQL eindeutige Zeilen mit dem Mindestwert aus?

Linda Hamilton
Freigeben: 2025-01-24 08:11:10
Original
536 Leute haben es durchsucht

How to Select Unique Rows with the Minimum Value in SQL?

Wie wähle ich die eindeutige Zeile mit dem Mindestwert in einer SQL-Abfrage aus?

In Datenbanken ist es oft notwendig, die Datensätze zu extrahieren, die den Mindestwert einer bestimmten Spalte enthalten. Angenommen, eine Tabelle enthält die Spalten „id“, „game“ und „point“. Um die einzigen Zeilen mit dem kleinsten „Punkt“-Wert auszuwählen (gruppiert nach „Spiel“), können Sie die folgende gültige SQL-Abfrage verwenden:

<code class="language-sql">SELECT tbl.*
FROM TableName tbl
INNER JOIN
(
  SELECT Id, MIN(Point) MinPoint
  FROM TableName
  GROUP BY Id
) tbl1
ON tbl1.id = tbl.id
WHERE tbl1.MinPoint = tbl.Point</code>
Nach dem Login kopieren

Diese Abfrage stellt sicher, dass nur die Zeilen mit dem kleinsten „Punkt“-Wert für jede eindeutige „ID“ ausgewählt werden. Die Unterabfrage in den Klammern berechnet den minimalen „Punkt“-Wert für jede „ID“ und speichert ihn in der temporären Spalte „MinPoint“. Die Hauptabfrage verknüpft dann die ursprüngliche Tabelle („TableName“) mit dieser temporären Tabelle basierend auf der gemeinsamen Spalte „id“.

Durch Filtern der Bedingung „tbl1.MinPoint = tbl.Point“ stellt die Abfrage sicher, dass nur Zeilen zurückgegeben werden, deren „point“-Wert mit dem Mindestwert innerhalb jeder „id“-Gruppe übereinstimmt. Dadurch wird die gewünschte Ausgabe erzeugt, bei der für jedes „Spiel“ die eindeutige Zeile mit dem kleinsten „Punktwert“ ausgewählt wird.

Beispiel:

Betrachten Sie das folgende Formular:

id game point
1 x 5
1 z 4
2 y 6
3 x 2
3 y 5
3 z 8

Das Ausführen der obigen Abfrage für diese Tabelle erzeugt die folgende Ausgabe:

id game point
1 z 4
2 y 6
3 x 2

Wie Sie sehen können, identifiziert die Abfrage korrekt die eindeutige Zeile mit dem kleinsten „Punktwert“ für jedes „Spiel“.

Hinweis: Es gibt Inkonsistenzen zwischen den ursprünglichen Beispieldaten und den Ergebnissen. Die Ergebnistabelle wurde korrigiert, um sie mit den Ergebnissen der SQL-Anweisung in Einklang zu bringen. Die korrigierte Ergebnistabelle zeigt die Zeile mit dem kleinsten id-Wert für jedes point. Wenn Sie den kleinsten game-Wert nach point-Gruppierung auswählen müssen, müssen Sie die SQL-Anweisung ändern.

Das obige ist der detaillierte Inhalt vonWie wähle ich in SQL eindeutige Zeilen mit dem Mindestwert aus?. 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