Heim >Datenbank >MySQL-Tutorial >Wie zeige ich Zeilennummern für eindeutige Werte in SQL an?

Wie zeige ich Zeilennummern für eindeutige Werte in SQL an?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-25 18:17:11120Durchsuche

How to Display Row Numbers for Unique Values in SQL?

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!

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