Das hängt von der Datenbank ab, die Sie verwenden. Eine Option, die für SQL Server, Oracle und MySQL funktioniert:
SELECT ROW_NUMBER() OVER (ORDER BY SomeField) AS Row, *
FROM SomeTable
Ändern Sie SomeField und SomeTable entsprechend Ihrer spezifischen Tabelle und dem entsprechenden Feld, nach dem geordnet werden soll. Es wird bevorzugt, dass SomeField im Zusammenhang mit der Abfrage eindeutig ist, natürlich.
In Ihrem Fall würde die Abfrage wie folgt lauten (Faiz hat eine solche Abfrage zuerst erstellt):
SELECT ROW_NUMBER() OVER (ORDER BY client_name) AS row_number, client_name
FROM (SELECT DISTINCT client_name FROM deliveries) TempTable
Ich denke, es wird nicht für SQLite funktionieren (wenn jemand mich hier korrigieren kann, wäre ich dankbar), ich bin nicht sicher, was die Alternative dort ist.
0 Stimmen
Welche SQL-Engine verwenden Sie?
0 Stimmen
Welche Datenbankplattform verwenden Sie? MySQL? SQL-Server? Oracle? In welcher Programmiersprache/Umgebung führen Sie die Abfrage aus? Gibt es einen bestimmten Grund, warum Sie es für besser halten, dies über eine Abfrage und nicht über Programmcode zu tun?
0 Stimmen
Ich verwende Microsoft Reporting Services als Umgebung, und ich brauche einen Integer-Bezeichner für meine Zeilen wegen eines Fehlers in diesem Tool.
1 Stimmen
Wozu ist diese Zeilennummer nützlich? Wenn Sie die Abfrage erneut ausführen, kann sie sich ändern. Wäre es nicht besser, wenn Sie eine IDENTITY-Spalte auf dem Client hinzufügen würden?
0 Stimmen
Nein, ich brauche das nur für Präsentationszwecke, und ich kann keine Identitätsspalte hinzufügen, weil die Werte aus einer Anfrage kommen, die das Schlüsselwort distinct enthält (ich hoffe, ich habe Ihre Frage gut verstanden).
0 Stimmen
Aber wenn sich die Quelltabelle ändert, kann sich auch die Zeilennummer ändern, die für die Zeile verwendet wird, die einen bestimmten Datensatz enthält, z. B. "Hey Joe, Datensatz in Zeile 12, namens Käse", "Äh Bill, ich sehe einen Datensatz namens Wein in Zeile 12".
2 Stimmen
@Russ Cam - Ihre Lösung ist also, dass niemand einen Bericht ausdrucken sollte, niemals?