質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

1420閲覧

GROUP BYの使いどころを教えてください。

yyy

総合スコア49

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2016/02/08 07:40

###前提・実現したいこと

My SQLで月別・カテゴリ別の合計販売額を一覧にして出し、各月ごとに1行にまとめて、カテゴリは1から10までIDごとに集計して横に並べて表示するSQLを作成したいのですが、うまくいきません。

###発生している問題・エラーメッセージ

県IDが同じ場合は顧客番号にかかわらず、販売合計金額を1つに纏めたいのですが、CustomerIDを結合したせいでGROUP BYがかからなくなっているようです。
(CustomerIDを消すと県IDが取れなくなってしまうので、今使用されているID,Name,テーブルはそのまま使用したいです。)

###ソースコード
My SQL

SELECT
A.PrefecturalID
,A.PrefecturalName
,I.ProductName
,G.販売合計金額
FROM
Prefecturals AS A
INNER JOIN
(
SELECT
b.PrefecturalID
,c.CustomerID
FROM
Prefecturals AS b
INNER JOIN
Customers AS c
ON b.PrefecturalID = c.PrefecturalID
GROUP BY
b.PrefecturalID
,c.CustomerID
) AS D
ON A.PrefecturalID = D.PrefecturalID
INNER JOIN
(
SELECT
f.CustomerID
,e.ProductID
,SUM(f.Quantity * e.Price) AS 販売合計金額
FROM
Products AS e
INNER JOIN
Sales AS f
ON e.ProductID = f.ProductID
GROUP BY
e.ProductID
,f.CustomerID
) AS G
ON D.CustomerID = G.CustomerID
INNER JOIN
Products AS I
ON
I.ProductID = G.ProductID
ORDER BY
A.PrefecturalID
,A.PrefecturalName
,I.ProductName
;

###補足情報
テーブル結合の仕方は他にもあるかと思いますが、今回はNameをGROUP BYしないようにコードを組みたいのでこのような形になっています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

内容を書き間違えました。

投稿2016/02/08 08:16

yyy

総合スコア49

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/02/09 02:38

質問内容は、編集機能で書き換えることができますよ。
yyy

2016/02/09 02:44

ご指摘ありがとうございます。 気づかずに新しく質問してしまいました・・・。
argius

2016/02/09 02:51

そうでしたか。 この質問が不要ということでしたら、質問取り消しという意味で自己ベストアンサーにしていただけると助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問