0

例1、2、3、4、5に4〜5個の値を持つversionという列を持つテーブルXがあります。

列の値が1または3の場合、私は問題ありません。それ以外の場合は、エラーです。

質問

このような出力が必要なクエリは何ですか

値の総数| トータルグッドすなわち値は(1,3)| 失敗した合計、つまり(1,3)にない値

誰かが質問を手伝ってくれませんか

4

1 に答える 1

2

あなたはこれを試すことができます:

select count(*) as TotalValues
  , (select count(*) from test where id in(1, 3)) as TotalGood
  , (select count(*) from test where id not in (1, 3)) as TotalFailed
from test

SQLフィドルデモ

あなたのコメントに基づいて、あなたがパーセンテージを必要とするならば、あなたはこれを使うでしょう:

SELECT TotalValues
  , TotalGood
  , TotalFailed
  , Cast(TotalGood as decimal(10, 2))/Cast(TotalValues as decimal(10, 2)) as PercentGood
FROM 
(
  select count(*) as TotalValues
    , (select count(*) from test where id in(1, 3)) as TotalGood
    , (select count(*) from test where id not in (1, 3)) as TotalFailed
  from test
) x
于 2012-05-11T19:52:30.823 に答える