Heim > Datenbank > MySQL-Tutorial > Wie ordne ich in SQL eindeutigen Werten Zeilennummern zu?

Wie ordne ich in SQL eindeutigen Werten Zeilennummern zu?

Patricia Arquette
Freigeben: 2024-12-29 20:52:16
Original
509 Leute haben es durchsucht

How to Assign Row Numbers to Distinct Values in SQL?

Eindeutige Zeilennummern in SQL mit Row_Number

Eindeutige Abfragen in SQL werden verwendet, um eindeutige Werte aus einer bestimmten Spalte abzurufen. Es gibt jedoch Szenarien, in denen es wünschenswert ist, nicht nur unterschiedliche Werte, sondern auch die entsprechenden Zeilennummern anzuzeigen. Um dies zu erreichen, kann die Funktion Row_Number in Verbindung mit dem Schlüsselwort DISTINCT verwendet werden.

Im bereitgestellten Beispiel hat der Benutzer versucht, DISTINCT mit Row_Number zu kombinieren, um unterschiedliche Werte zusammen mit Zeilennummern anzuzeigen:

SELECT DISTINCT id, ROW_NUMBER() OVER (ORDER BY id) AS RowNum
FROM table
WHERE fid = 64
Nach dem Login kopieren

Diese Abfrage ergab jedoch nur unterschiedliche Werte, ähnlich der folgenden Abfrage:

SELECT distinct id FROM table WHERE fid = 64
Nach dem Login kopieren

Um dieses Problem zu beheben, muss die Die Funktion DENSE_RANK kann anstelle von Row_Number verwendet werden. DENSE_RANK weist aufeinanderfolgende Zeilennummern eindeutigen Werten zu, unabhängig von Lücken in den Daten.

Hier ist die korrigierte Abfrage:

SELECT distinct id, DENSE_RANK() OVER (ORDER BY  id) AS RowNum
FROM table
WHERE fid = 64
Nach dem Login kopieren

Diese Abfrage liefert das gewünschte Ergebnis: eine Liste eindeutiger Werte mit entsprechenden Zeilennummern, wie vorgesehen.

Das obige ist der detaillierte Inhalt vonWie ordne ich in SQL eindeutigen Werten Zeilennummern zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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