• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【SQL】グループ化した際の最頻値の表示)

【SQL】グループ化した際の最頻値の表示

このQ&Aのポイント
  • SQL Server 2008R2を使用して、販売支店と出身国でグループ化した際に、各グループの値段の合計値と最頻値の車種を表示する方法を教えてください。
  • 上記のテーブルを販売支店と出身国でグループ化し、値段の合計値を出力します。また、車種の中で最も頻出した値を表示する方法も教えてください。
  • SQL Server 2008R2を使用して、販売支店と出身国でグループ化した際に、各グループの値段の合計値と最頻値の車種を表示する方法を教えてください。最頻値が2つ以上ある場合は、その中からどれか1つを表示します。

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

1) 値段の集計 SELECT 販売支店, 出身国, SUM(値段) AS 値段 FROM テーブル GROUP BY 販売支店, 出身国 ORDER BY 販売支店, 出身国 (2)車種の頻度順 SELECT COUNT(*), 車種 FROM テーブル GROUP BY 車種 ORDER BY COUNT(*) DESC, 車種 (3) 合体 SELECT a.販売支店, a.出身国, SUM(a.値段) AS 値段 , (   SELECT TOP 1 b.車種   FROM テーブル b   WHERE b.販売支店 = a.販売支店 AND b.出身国 = a.出身国   GROUP BY b.車種   ORDER BY COUNT(*) DESC, b.車種 ) AS 車種 FROM テーブル a GROUP BY a.販売支店, a.出身国 ORDER BY a.販売支店, a.出身国

losmy
質問者

お礼

実際に試してみたところ、正しい値が得られました。 SELECT 区の中にテーブルを入れてしまう方法は初めて知りました。 とてもシンプルで、わかりやすい説明、ありがとうございました。