Heim >Datenbank >MySQL-Tutorial >Wie finde ich doppelte Zeilen mit unterschiedlichen Werten in einer bestimmten Spalte?
Auswählen doppelter Zeilen mit unterschiedlichen Spaltenwerten
Diese Datenbankabfrage zielt darauf ab, doppelte Zeilen basierend auf einer bestimmten Spalte zu identifizieren und dabei die Werte anderer zu ignorieren Spalten. Stellen Sie sich das folgende Szenario vor:
------ ------ </p> <table> <thead><tr> <th>ARIDNR</th> <th>LIEFNR</th> </tr></thead> <tbody> <tr> <td>1</td> <td>A</td> </tr> <tr> <td>2</td> <td>A</td> </tr> <tr> <td>3</td> <td>A</td> </tr> <tr> <td>1</td> <td>B</td> </tr> <tr> <td>2</td> <td>B</td> </tr> </tbody> </table> <p>
Das Ziel besteht darin, die ARIDNR-Werte auszuwählen, die mehr als einmal mit unterschiedlichen LIEFNR-Werten vorkommen.
Lösung
Um dies zu erreichen, können wir Folgendes nutzen Abfrage:
SELECT * FROM Table WHERE ARIDNR IN ( SELECT ARIDNR FROM Table GROUP BY ARIDNR HAVING COUNT(DISTINCT LIEFNR) > 1 )
Diese Abfrage verwendet eine verschachtelte Unterabfrage, um die ARIDNR-Werte zu identifizieren, die die angegebenen Kriterien erfüllen. Die Unterabfrage gruppiert Zeilen nach ARIDNR und wendet die Funktion COUNT(DISTINCT LIEFNR) an, die die Anzahl der eindeutigen LIEFNR-Werte berechnet, die jeder ARIDNR zugeordnet sind. Wenn die Anzahl 1 überschreitet, wird die ARIDNR zu einer temporären Tabelle hinzugefügt.
Die Hauptabfrage wählt dann alle Zeilen aus der Originaltabelle aus, in denen die ARIDNR-Werte mit denen übereinstimmen, die von der Unterabfrage identifiziert wurden. Dies führt zur gewünschten Ausgabe:
------ ------ </p> <table> <thead><tr> <th>ARIDNR</th> <th>LIEFNR</th> </tr></thead> <tbody> <tr> <td>1</td> <td>A</td> </tr> <tr> <td>1</td> <td>B</td> </tr> <tr> <td>2</td> <td>A</td> </tr> <tr> <td>2</td> <td>B</td> </tr> </tbody> </table> <p>
Diese Methode erfasst effektiv die doppelten Zeilen mit unterschiedlichen LIEFNR-Werten und erfüllt so die anfängliche Anforderung.
Das obige ist der detaillierte Inhalt vonWie finde ich doppelte Zeilen mit unterschiedlichen Werten in einer bestimmten Spalte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!