Tim Biegeleisen wies auf das Problem hin - eine Sortierreihenfolge für die Geräte zu bestimmen.
Wenn Sie nicht über die Reihenfolge der zurückgegebenen Zeilen kümmern, könnten Sie verwenden:
SELECT a.Device_name,
(SELECT count(*) FROM Devices
WHERE Device_name <= a.Device_name) AS "Running Count"
FROM Devices a
ORDER BY Device_name
Dies gibt.
Device_name Running Count
-------------------- -------------
Android 1
Apple 2
Blackberry 3
Unix 4
Windows 5
Wenn Sie eine Spalte (zB haben "ID"), die die Reihenfolge der Geräte bestimmt, dann könnten Sie folgenden Code verwenden:
SELECT a.Device_name,
(SELECT count(*) FROM Devices
WHERE ID <= a.ID) AS "Running Count"
FROM Devices a
ORDER BY Device_name
uns die laufende Zählung in der Angabe ursprüngliche Reihenfolge:
Device_name Running Count
-------------------- -------------
Apple 1
Blackberry 2
Windows 3
Android 4
Unix 5
Natürlich ist die Reihenfolge, in der die Ergebnisse erhalten, ist nicht garantiert, wenn Sie „im Auftrag“ zu verwenden.
Können Sie uns die Abfrage zeigen, die die Ausgabe für Ihre Tabelle 'Device_name' generiert hat? –
Es ist einfach wie, Select Column1, Spalte2, device_name, Column4 VON DBO.TABLE_NAME –
Sie wollen nur eine Zeilennummer neben dem device_name? oder willst du zählen? – scaisEdge