Возвращает только процент положительного результата в 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.

Другие вопросы по тегам