1

クエリに 2 つの集計関数が必要ですが、フィルター処理の方法がわかりません。

サンプル数と 1 より大きいサンプル数が必要です。

何かのようなもの:

SELECT COUNT(Samples), COUNT(Samples >1)
FROM SampleData

サブクエリを実行できますが、このようにフィルタリングするより良い方法はありますか?

4

3 に答える 3

2

Sampleその後、基本的にusingの値を取得できCASE、その結果は を介し​​て集約されSUM()ます。

SELECT COUNT(Samples), 
       SUM(CASE WHEN Samples > 1 THEN 1 ELSE 0 END) 
FROM   SampleData

ただし、これはほとんどの RDBMS で機能します。

于 2013-03-25T13:52:48.297 に答える
0

レコード数を取得するには、JW の回答を参照してください。同様に、サンプルの合計、およびサンプルが 1 より大きいサンプルの合計を取得するには、次を使用します。

SELECT SUM(Samples) TotalSamples, 
       SUM(CASE WHEN Samples > 1 THEN Samples ELSE 0 END) SamplesGT1
FROM   SampleData
于 2013-03-25T13:59:19.197 に答える