Heim > Datenbank > MySQL-Tutorial > Wie wähle ich Zeilen mit doppelten IDs und eindeutigen Spaltenwerten in SQL aus?

Wie wähle ich Zeilen mit doppelten IDs und eindeutigen Spaltenwerten in SQL aus?

Mary-Kate Olsen
Freigeben: 2024-12-27 05:20:15
Original
994 Leute haben es durchsucht

How to Select Rows with Duplicate IDs and Unique Column Values in SQL?

Zeilen mit doppelten IDs und unterschiedlichen Spaltenwerten extrahieren

Die Abfrage:

Bedenken Sie das folgende Tabelle:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 2     | A     |
+------+------+
| 3     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | B     |
+------+------+
Nach dem Login kopieren

Das Ziel besteht darin, alle Zeilen abzurufen, in denen Die Spalte ARIDNR weist doppelte Werte auf, während die Spalte LIEFNR unterschiedliche Werte aufweist.

Lösung:

Um diese Abfrage effektiv auszuführen, führen Sie die folgenden Schritte aus:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)
Nach dem Login kopieren

Erklärung:

Diese Abfrage verwendet eine Unterabfrage, um ARIDNRs zu identifizieren die mehr als einmal vorkommen. In der äußeren Abfrage werden alle Zeilen mit den identifizierten ARIDNRs abgerufen.

  1. Unterabfrage:

    • Gruppiert die Zeilen nach ARIDNR.
    • Die HAVING-Klausel filtert nach ARIDNRs mit mehr als einer eindeutigen LIEFNR Wert.
  2. Äußere Abfrage:

    • Die Hauptabfrage filtert die Tabelle so, dass sie nur Zeilen enthält, deren ARIDNRs die Unterabfrage erfüllen Bedingung.

Ergebnis:

Die Ausgabe der Abfrage lautet:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | A     |
+------+------+
| 2     | B     |
+------+------+
Nach dem Login kopieren

Dieses Ergebnis Erfasst erfolgreich alle Zeilen mit doppelten ARIDNRs und unterschiedlichen LIEFNR-Werten.

Das obige ist der detaillierte Inhalt vonWie wähle ich Zeilen mit doppelten IDs und eindeutigen Spaltenwerten in SQL 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