列Aの各固有値は、各値の表示頻度を無視して表示するようにしています。 BSQL Serverは、1つの列から異なる値を表示し、それぞれの固有のエントリ数をカウントします。
すなわち
Column A Column B
1 56
1 null
1 78
2 null
3 54
私はあなたがColumnAにGROUP BYの使用をしなければならない
1 2
3 1
列Aの各固有値は、各値の表示頻度を無視して表示するようにしています。 BSQL Serverは、1つの列から異なる値を表示し、それぞれの固有のエントリ数をカウントします。
すなわち
Column A Column B
1 56
1 null
1 78
2 null
3 54
私はあなたがColumnAにGROUP BYの使用をしなければならない
1 2
3 1
のようなものを見て復帰をしたい、とWHのためにそれらのレコードを選択しますich ColumnBはNULLではありません。次のスクリプトはあなたの要求を達成するために、後にいくつかの説明を追加しました。
CREATE TABLE Test(ColumnA INT, ColumnB INT)
INSERT INTO Test(ColumnA, ColumnB) VALUES (1, 56),
(1, null),
(1, 78),
(2, null),
(3, 54)
SELECT ColumnA, COUNT(*)
FROM TEST WHERE ColumnB IS NOT NULL
GROUP BY ColumnA
DROP TABLE Test
対象となるのはSELECT命令です。スクリプトの残りの部分は、あなたが話しているような単純なテーブルの作成と人口のためだけです。
SELECTはColumnAで作成され、その列はGROUP BY句でも使用されます。つまり、他の列を選択して何らかの方法で集計するために、ColumnAから単一の値を抽出する必要があります。
集計関数COUNT()によって、特定の集計、つまりColumnBの値の出現が行われます。これは、グループ化された列と一致するレコードの数を抽出するように指示します。我々のケースでは、COUNT()は、ColumnAの各値のレコード数をカウントします。 しかし、ColumnBのNULL値を持つレコードを除外したいので、単にWHERE句を使用してそれらのレコードを選択から除外します。ご覧のとおり、ColumnB IS NOT NULLのレコードを要求しています。
そのように、あなたが投稿したサンプルデータを使用して、我々はあなたが期待したものを正確に取得されます:
1 2
3 1
あなたは、SQL Serverで値をカウントする方法をGoogleに起こりましたか。 – dfundako
aを選択すると、count(b)> 0の順序でtグループからcount(b)をa –