2017-06-28 4 views
1

Je dois obtenir le pourcentage de la colonne "is_backed_up" dans la table SQL appelée syslogs.Renvoyer uniquement le pourcentage du résultat positif dans SQL

J'ai reçu l'instruction de travailler; cependant, je n'ai besoin que du pourcentage du résultat positif, '1' étant sauvegardé et '0' étant non sauvegardé. Quand je lance:

Select (Count(is_backed_up)* 100/(Select Count(*) From syslogs)) 
From syslogs 
Group By is_backed_up; 

je reçois:

(expression)  
37.79527559055  
62.20472440945 

Je veux seulement voir la valeur de 62%, ce qui est la valeur sauvegardée. J'utilise Informix v12.1 sur un boîtier Unix.

Répondre

1

Il y a sans doute beaucoup de façons de le faire, mais cela devrait faire le travail:

SELECT 100 * COUNT(*)/(SELECT COUNT(*) FROM syslogs) 
    FROM syslogs 
WHERE is_backed_up = 1; 

Ce compte les lignes qui sont marquées comme sauvegardés, et divise que par le nombre total de lignes dans les syslogs table (et multiplie par 100 pour obtenir le pourcentage).

Il n'y a rien ici qui dépend spécifiquement de la syntaxe Informix.

+0

merci mon chef! –