各機関のすべてのモデルの合計を取得し、各モデルの数を選択しようとしています。SQL Server:各機関のすべてのモデルの合計を選択し、各モデルの数を選択します
私たちは、自動車会社のデータベース内の異なるテーブルが、私は次のクエリを持っている:それが生成するよう
SELECT distinct (c.check) ,cm.description as agency, cms.description as model, co.result
FROM check c
INNER JOIN check_obd co on c.idcheck=co.idcheck
INNER JOIN vehicular_census vc on vc.idvehicularcensus = c.idvehicularcensus
LEFT JOIN cat_mark cm on vc.idmark=cm.key
LEFT JOIN cat_mark_submark cms on vc.idmark_submark=cms.idmark_submark
WHERE c.operation_status=5
このクエリは理想的ではありません。
私は希望結果は次のようになります。
希望の結果を得るために上記のクエリを変更するにはどうすればよいですか?ここで
あなたが探しているものは、カウントを持つ単純なGROUP BY文で実現できます。例えば'SELECT cm.description AS代理店、COUNT(cms.description)OVER(PARTITION BY cm.description)AS合計、cms.description ASモデル、COUNT(*)AS数量<私のテーブルを挿入する> GROUP BY cm.description、cms .description' ...特定の出力を得るには、結果セットに行番号(代理店別に分割)を割り当て、行番号が1でなければ代理店/合計をnullにする必要があります。 – ZLK
こんにちはZLK I次の問合せ:こんにちはZLK次の問合せを実行します。SELECT distinct cm.description代理店、count(cm.description) OVER(PARTITION BY cm.descripcion)合計で、 cms.description as model、count(cms。説明) 小計としてOVER(cms.descriptionによって区切られたもの) FROMチェックc INNER JOIN check_obd co on c.idcheck = co.idcheck INNER JOIN vehicular_census vc vc.idvehicularcensus = c.idve hicularcensus LEFT cm.description –
によってvc.idmark_submark = cms.idmark_submark WHERE c.operation_status = 5オーダー前のクエリにcat_mark_submarkのCMSを登録しようvc.idmark = cm.key LEFT上cat_mark CMを登録しよう私は、この結果を取得します。https:を//1drv.ms/i/s!Ak2f8MCNYPvQgyI_Rd8lLKP15oB8 *****さまざまな合計結果を消去して、各代理店ごとに合計を1つだけ得るにはどうすればよいですか? 、thanks:9 –