Возвращает только процент положительного результата в SQL
Мне нужно получить процент от столбца "is_backed_up" в таблице SQL под названием syslogs.
Я получил заявление на работу; однако мне нужен только процент положительного результата, резервное копирование "1" и резервное копирование "0". Когда я бегу:
Select (Count(is_backed_up)* 100 / (Select Count(*) From syslogs))
From syslogs
Group By is_backed_up;
Я получил:
(expression)
37.79527559055
62.20472440945
Я только хочу увидеть значение 62%, которое является резервным значением.
Я использую Informix v12.1 на коробке Unix.
1 ответ
Решение
Есть, несомненно, много способов сделать это, но это должно сделать работу:
SELECT 100 * COUNT(*) / (SELECT COUNT(*) FROM syslogs)
FROM syslogs
WHERE is_backed_up = 1;
Он подсчитывает строки, помеченные как резервные копии, и делит их на общее количество строк в таблице системных журналов (и умножает на 100, чтобы получить процент).
Здесь нет ничего, что конкретно зависит от синтаксиса Informix.