2013-11-13 2 views
1

Я пытаюсь сделать Sum() столбец Status где Status = 'operational'. Мне трудно понять, как суммировать фактическое слово «операционный».Проблема в SQL Суммирование слова

Я пробовал несколько различных вариантов формулировки ниже (тот, который я опубликовал, является самой простой формой), но я получаю ошибку: data type varchar is invalid for sum operator.

Может ли кто-нибудь помочь?

SELECT SUM(status) As 'TotalOperationalSTIDevices' 
FROM netinfo_device_details 
WHERE LoopBackAddress LIKE '10.12%' AND Status = 'Operational' 
+2

Является ли это SQL Server или MySQL? Можете ли вы выбрать один тег или другой? –

ответ

1

Вы должны использовать COUNT:

SELECT COUNT(*) As TotalOperationalSTIDevices 
FROM netinfo_device_details 
WHERE LoopBackAddress LIKE '10.12%' AND Status = 'Operational'; 

Функция агрегации SUM действительно делает SUM набора чисел. COUNT просто подсчитывает количество строк. Поскольку фактическое содержимое строки не имеет значения, вы можете использовать COUNT (*) вместо COUNT (статус), если хотите.

+0

Прекрасно работает – user2988920

1

Попробуйте

Select COUNT(*) As 'TotalOperationalSTIDevices' from netinfo_device_details where LoopBackAddress Like '10.12%' and Status = 'Operational' 
+0

Работает как очарование – user2988920

Смежные вопросы