1

フィールド(Id、Valid、Value)を使用してテーブルを作成します

有効=ブール値=0から100までの数値

私が欲しいのは、(valid = 0)のレコード数をカウントし、(value <70)のケースの総数と(value> = 70)のケースの数を取得するレポートです。

問題は、一部のレコードで「値」フィールドが空になる可能性があり、値フィールドが空でないレコードのみが必要なことです。

2番目の値(値> = 70)が計算されることはわかっていますが、問題は、問題があるため、単純に実行できないことです(レコードの総数-値<70のレコードの数)。 「値」がnullであるレコード...

次に、これらの値を使用してグラフィックを作成し、70を下回るレコードと上回るレコードのパーセンテージを確認します。

4

1 に答える 1

0

問題は、一部のレコードで「値」フィールドが空になる可能性があり、値フィールドが空でないレコードのみが必要なことです。

WHERE「value」フィールドがNullである行を除外するには、句を使用します。

のサンプルデータは次のとおりですtblMetraton

Id Valid Valu
 1    -1    2
 2     0    4
 3    -1    6
 4     0
 5     0   90

予約語な Valuのでフィールド名に使用しました。Value

このCount()関数をクエリで使用して、Null以外の値のみをカウントするという事実を利用できます。したがって、一致させたい条件にはNull以外の値(私は1を使用)を返し、それ以外の場合はNullを返す式で使用Count()します。IIf()

SELECT
    Count(IIf(Valid=0,1,Null)) AS valid_false,
    Count(IIf(Valu<70,1,Null)) AS below_70,
    Count(IIf([Valu]>=70,1,Null)) AS at_least70
FROM tblMetraton AS m
WHERE (((m.[Valu]) Is Not Null));

のサンプルデータに基づいてtblMetraton、そのクエリはこの結果セットを提供します。

valid_false below_70 at_least70
          2        3          1

私のサンプルデータがあなたが扱っている変動性に対応していない場合、および/または私のクエリ結果があなたの要件に一致しない場合は、あなた自身のサンプルデータとそのサンプルに基づいて必要な結果を示してください。

于 2012-07-26T00:54:41.513 に答える