はじめまして。
現在、私は仕事で統計を表示するためのレポートを作成中ですが、
データ取得SQLのよいアイデアが浮かびません。
わかる方がいらっしゃいましたら、お知恵を貸してください。
booking_id 販売支店 出身国 値段 車種
----------------------------------------------
01 東日本 ブラジル 100,000 A
02 東日本 ブラジル 200,000 A
03 東日本 ブラジル 300,000 B
04 東日本 ブラジル 400,000 C
05 東日本 日本 500,000 A
06 東日本 日本 600,000 B
07 西日本 ロシア 700,000 B
08 西日本 ロシア 800,000 B
09 西日本 ロシア 900,000 B
10 西日本 韓国 100,000 A
11 西日本 韓国 200,000 B
12 西日本 韓国 300,000 C
13 西日本 韓国 400,000 C
上記のようなテーブルがある場合、販売支店と出身国でグループ化して、
それぞれの値段の合計値を出します。
その際、車種はもっとも頻出した値を表示したいのですが、
どのようにしたら実現できますでしょうか。
(最頻値が2つ以上の場合は、その中のどれかを表示する。)
期待結果は以下のようになります。
販売支店 出身国 値段 車種
---------------------------------------
東日本 ブラジル 1000,000 A
東日本 日本 1100,000 A
西日本 ロシア 2400,000 B
西日本 韓国 1000,000 C
SQL Server は、2008R2を使用しております。
以上、よろしくお願いいたします。
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.出身国
実際に試してみたところ、正しい値が得られました。
SELECT 区の中にテーブルを入れてしまう方法は初めて知りました。
とてもシンプルで、わかりやすい説明、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 世界情勢 ウクライナは日本海を東海と表記しているのは何故 9 2022/04/28 13:58
- 軍事学 北方領土付近が狙われやすい? 2 2022/03/28 20:25
- 世界情勢 ウクライナ紛争後の日本安保について ウクライナ情勢は今の西側諸国の軍事支援ですと、紛争を長期化させて 4 2023/03/12 02:51
- 戦争・テロ・デモ 現在、ロシアの武力によってウクライナの東部地域の強奪を「解放」と自称し併合しました。 なお、住民投票 7 2023/03/16 12:43
- 倫理・人権 日韓の懸案であるいわゆる元徴用工の裁判を巡り韓国側原告を支援する日本の団体が韓国で会見を開き日本企業 4 2022/12/17 18:49
- その他(ニュース・社会制度・災害) 日本は憲法改正してNATOに加盟できれば世界が変わりますね。 6 2022/10/15 16:47
- 伝統文化・伝統行事 韓国語の翻訳をお願い申し上げます 1 2022/07/08 09:33
- 経済 ひろゆきみたいな勝ち組って日本の社会のゴミ共相手に金儲けしているわけでしょ? 少し前に日本テレビの元 2 2022/04/30 17:08
- 政治 中国人と韓国人の知的レベルは同じですか? 8 2023/08/27 13:25
- 戦争・テロ・デモ 日本人がロシア人たちを救うべき 19 2022/04/03 23:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルリンク リンク元を知...
-
L2SWはARPテーブルを持っている?
-
複雑なSQL文について
-
mysql alter table 終わらない
-
飲み会で、座敷orテーブルどち...
-
男性と2人で飲食店に行きテーブ...
-
一致するデータのみ削除したい
-
アクセスのリンクテーブル一覧...
-
【エクセル】データテーブルの...
-
MySQLで複数テーブルを作成する
-
論理名とコメント構文(?)について
-
テーブル名の前のドットの意味
-
複数のカラムに対するリレーシ...
-
アクセスでテーブルのデザイン...
-
複数テーブルにわたるCOUNT
-
LINQでn:nテーブルを階層オブジ...
-
更新されたテーブルを表示したい
-
親子関係のテーブルについて
-
1つのテーブルに同じデータを参...
-
まるいテーブル 円い 丸い 漢字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
L2SWはARPテーブルを持っている?
-
外部キーだけのテーブル(主キ...
-
男性と2人で飲食店に行きテーブ...
-
テーブルリンク リンク元を知...
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
アクセスのリンクテーブル一覧...
-
ターンテーブルの、電子レンジ...
-
飲み会で、座敷orテーブルどち...
-
【PHP】SQL文のSUM関数で出力し...
-
まるいテーブル 円い 丸い 漢字...
-
テーブル:生徒名簿 生徒名簿の...
-
1対1のリレーション(主キー同...
-
論理名とコメント構文(?)について
-
面接のときテーブルが正面に。...
-
一致するデータのみ削除したい
-
複雑なSQL文について
-
SQL構文です 画像のようにした...
-
件数の多い順にselect
-
お金持ちのテーブル
おすすめ情報