いつもお世話になっております。ありがとうございます。
やりたいこと。5.5.60-MariaDBにて小計と合計を出したい。
jyoukyou_tableがあります。
id | kankatsu | subject | date | name |
---|---|---|---|---|
1 | 東京 | 連絡中 | 1969-10-13 | Aさん |
2 | 大阪 | 処理済 | 2018-10-13 | Bさん |
3 | 北海道 | その他 | 2018-10-13 | Pさん |
4 | 福岡 | 連絡中 | 2018-10-13 | Dさん |
5 | 福岡 | 連絡中 | 2018-10-13 | Eさん |
6 | 東京 | 問題なし | 2018-10-13 | Xさん |
7 | 大阪 | 処理済 | 2018-10-13 | Wさん |
望む結果。合計の7を出したい。
kankatsu | 連絡中 | 処理済 | その他 | 問題なし | 合計 |
---|---|---|---|---|---|
東京 | 1 | 1 | |||
東京 | 1 | 1 | |||
大阪 | 2 | 2 | |||
北海道 | 1 | 1 | |||
福岡 | 2 | 2 | |||
合計 | 7 |
jyoukyou_tableから上記のように合計の7が出ないSQLは以下の通りで動作します。
sql
1SELECT kankatsu, subject, 2COUNT(*) AS total 3,COUNT(subject = '連絡中' or null) AS renrakuuchu 4,COUNT(subject = 'その他' or null) AS sonota 5,COUNT(subject = '処理済' or null) AS shori 6,COUNT(subject = '問題なし' or null) AS mondainashi 7FROM jyoukyou_table 8GROUP BY kankatsu,subject
合計の7を出すためにROLLUPを使い以下のSQLを実行しましたが出せません。
sql
1SELECT kankatsu, subject, 2COUNT(*) AS total 3,COUNT(subject = '連絡中' or null) AS renrakuuchu 4,COUNT(subject = 'その他' or null) AS sonota 5,COUNT(subject = '処理済' or null) AS shori 6,COUNT(subject = '問題なし' or null) AS mondainashi 7FROM jyoukyou_table 8GROUP BY kankatsu, 9ROLLUP(subject)
試したこと
sql
1GROUP BY kankatsu 2ROLLUP(subject) 3 4GROUP BY 5ROLLUP (kankatsu,subject) 6 7GROUP BY subject 8ROLLUP (kankatsu)
以下を参考にしたのですが、根本的に違うのでしょうか? ご教示お願いします。
https://oracle.programmer-reference.com/oracle-group-by-rollup/
https://qiita.com/q1701/items/2321b9a8674d9796af5b
回答2件
あなたの回答
tips
プレビュー