2017-06-28 3 views
1

syslogsというSQLテーブルのカラム "is_backed_up"のパーセンテージを取得する必要があります。SQLで肯定的な結果のパーセンテージのみを返す

私は働く声明を得ました。しかし、私は肯定的な結果のパーセンテージだけを必要とし、 '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; 

これはバックアップとしてマークされた行をカウントし、syslogの内の行の合計数であることを分割(そして100を掛けてパーセンテージを得る)。

ここには特にInformixの構文に依存するものはありません。

+0

私のチーフに感謝します! –

関連する問題