Heim >Datenbank >MySQL-Tutorial >Wie zeige ich Zeilennummern für eindeutige Werte in SQL an?
Anzeigen von Zeilennummern eindeutiger Werte mit SQL
Das Schlüsselwort DISTINCT in SQL wird verwendet, um nur eindeutige Werte abzurufen aus einer angegebenen Spalte. In diesem speziellen Fall möchten Sie die Zeilennummern eindeutiger Werte in einer Spalte mithilfe der Funktion ROW_NUMBER() anzeigen.
Die von Ihnen bereitgestellte Abfrage lautet jedoch:
SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum FROM table WHERE fid = 64
gibt nicht die erwarteten Ergebnisse zurück, da Duplikate mithilfe von DISTINCT effektiv eliminiert werden. Infolgedessen verhält es sich ähnlich wie die folgende Abfrage:
SELECT DISTINCT id FROM table WHERE fid = 64
Um die gewünschte Ausgabe zu erzielen, können Sie stattdessen die Funktion DENSE_RANK() verwenden. DENSE_RANK() weist jedem eindeutigen Wert in der angegebenen Reihenfolge eindeutige Zeilennummern zu, auch wenn doppelte Werte vorhanden sind.
Hier ist die geänderte Abfrage:
SELECT DISTINCT id, DENSE_RANK() OVER (ORDER BY id) AS RowNum FROM table WHERE fid = 64
Dies Die Abfrage liefert Ihnen die Zeilennummern, die den eindeutigen Werten in der angegebenen Spalte für die Zeilen entsprechen, die die Bedingung WHERE fid = erfüllen 64.
Das obige ist der detaillierte Inhalt vonWie zeige ich Zeilennummern für eindeutige Werte in SQL an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!