質問: [here_add_number]; select distinct count(*) as count, program_type as [type] from cm_production where push_number=@push_number group by program_type これは私を途中で取得しますが、それは(私はそれがそのクエリで行うことを期待していない)明確なものではなく、すべてのプログラム名を数えています。選択せずに個別のプログラム名のみを数えるように指示する方法を頭で囲むことはできないと思います。か何か。
回答: プログラムタイプとプッシュ番号によってすべてのdistinctプログラム名を数えます。 select count(distinct program_name) as count, program_type as [type] from cm_production where push_number=@push_number group by program_type distinct count(*)はそれぞれのユニークなカウントに対して行を返します。必要なものは count(distinct <expression>) :グループ内の各行の式を評価し、一意のnull以外の値の数を返します。