Tim Biegeleisen намекнул на проблему - определение порядка сортировки для устройств.
Если вы не заботитесь о порядке возвращенных строк, вы можете использовать:
SELECT a.Device_name,
(SELECT count(*) FROM Devices
WHERE Device_name <= a.Device_name) AS "Running Count"
FROM Devices a
ORDER BY Device_name
Это дает:.
Device_name Running Count
-------------------- -------------
Android 1
Apple 2
Blackberry 3
Unix 4
Windows 5
Если у вас есть столбец (например, "ID"), который определяет порядок устройств, то вы могли бы использовать такой код:
SELECT a.Device_name,
(SELECT count(*) FROM Devices
WHERE ID <= a.ID) AS "Running Count"
FROM Devices a
ORDER BY Device_name
дает нам текущий счет в первоначальный заказ:
Device_name Running Count
-------------------- -------------
Apple 1
Blackberry 2
Windows 3
Android 4
Unix 5
Конечно, заказ, на котором вы получаете результаты, не гарантируется, если вы не используете «заказать».
Можете ли вы показать нам запрос, который сгенерировал вывод для вашей таблицы 'Device_name'? –
Это просто, как, Выберите Column1, Столбец2, device_name, column4 ИЗ DBO.TABLE_NAME –
Вы хотите только номер строки рядом с DEVICE_NAME? или вы хотите подсчет? – scaisEdge