2016-04-27 9 views
0

Моя таблица содержит столбец, как enter image description hereНайти бегущий счетчик имени столбца в Sybase

Нет, мне нужно рассчитать текущий счет значения столбца в другой колонке, как enter image description here

Я не в состоянии получить его, попробовал count (column_name), но он дает мне длину столбца. Любая идея, как это сделать в Sybase (ASE)?

+0

Можете ли вы показать нам запрос, который сгенерировал вывод для вашей таблицы 'Device_name'? –

+0

Это просто, как, Выберите Column1, Столбец2, device_name, column4 ИЗ DBO.TABLE_NAME –

+0

Вы хотите только номер строки рядом с DEVICE_NAME? или вы хотите подсчет? – scaisEdge

ответ

0

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 

Конечно, заказ, на котором вы получаете результаты, не гарантируется, если вы не используете «заказать».