以下の様な3カラム(room,reservation,daytime)のデータがあったときの解析方法を教えていただきたいです。
room reservation daytime
1 空き 2015-05-01
1 空き 2015-05-02
2 予約 2015-05-01
2 予約 2015-05-02
1 予約 2015-06-01
1 空き 2015-06-02
2 予約 2015-06-01
2 予約 2015-06-02
ホテルの予約状況を想定して、各月の部屋毎の合計予約数を出したいです。
上記の例であれば、以下の様な結果
2015年5月 room1の予約数 0
2015年5月 room2の予約数 2
2015年6月 room1の予約数 1
2015年6月 room2の予約数 2
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
>monthだけがNULLになってしまいます。
あれ、データの投入とかなにか違うのかな・・・
以下テストデータでやってもダメでしょうか?
//元データ作成
create table hoge (room int, reservation varchar(10), daytime date);
insert into hoge values('1','空き','2015-05-01'),('1','空き','2015-05-02'),('2','予約','2015-05-01'),('2','予約','2015-05-02'),('1','予約','2015-06-01'),('1','空き','2015-06-02'),('2','予約','2015-06-01'),('2','予約','2015-06-02');
//集計
select case
when daytime BETWEEN '2015-05-01' AND '2015-05-31' then '2015年05月'
when daytime BETWEEN '2015-06-01' AND '2015-06-30' then '2015年06月'
end as month
,room,sum(reservation='予約') as reserved
from hoge
group by month,room
No.1
- 回答日時:
こんなかんじで
select case
when daytime BETWEEN '2015-05-01' AND '2015-05-31' then '2015年05月'
when daytime BETWEEN '2015-06-01' AND '2015-06-30' then '2015年06月'
end as month
,room,sum(reservation='予約') as reserved
from hoge
group by month,room
月表示については別途カレンダーテーブルを作っておいた方が処理は楽になります
ありがとうございます。書換までmysqlで出来てしまうんですね。
いい感じのデータは抽出できたのですが、なぜか
monthだけがNULLになってしまいます。
daytimeの方は「date」です。
何がいけないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 関西 大阪伊丹空港・駐車場の予約 5 2022/12/10 11:55
- その他(保険) キャンセル保険の申し込み 1 2023/07/03 17:32
- その他(地域情報・旅行・お出掛け) ホテルのキャンセル料について! ご回答頂けると幸いです 30日~15日前 宿泊料金の30% と書いて 5 2023/05/13 05:00
- ホテル・旅館 ユニバ ホテル 1 2023/02/28 22:45
- 飛行機・空港 航空券について 4 2023/05/24 14:19
- 飛行機・空港 7月に沖縄に行くのですが航空券の予約を私ではなく、 一緒に行く人が予約してくれました。 LINEでエ 3 2022/06/28 12:24
- 英語 英訳 3 2022/08/10 18:17
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- 北海道 2月7日~11日に 札幌発日帰りバスツアーなど 4 2023/01/28 11:43
- 飛行機・空港 国際線のZIPAIRの予約ができない。 5 2023/08/02 23:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
WHERE `年月日` = '晴' OR `年...
-
PhpMyAdminで作成して実行せよ...
-
mysqlがインストールされている...
-
あってますか?SQL
-
SQLを作ったのですがうまくいき...
-
〜のような結果を出すためのSQL...
-
下の画像はSQLの4大命令の性質...
-
書籍の内容はまともでしょうか?
-
SQLです。こんな感じですか?あ...
-
エラー 1068 (42000): 複数の主...
-
SQLでカラムを追加し、条件に合...
-
【初歩】ラジオボタンをつかっ...
-
参考書に従って入力したつもり...
-
Mac です。ローカルホストの ph...
-
MySQLでcreateが使えない MySQL...
-
SQLです教えてくださいお願いし...
-
テーブル名が可変の場合のクエ...
-
共通点はあります。何が違うの...
-
MySQL NULLだけをカウントして...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
悪質なクレーマーに晒されてし...
-
ゆふいんの森について 詳しい方...
-
2日前に美容室の予約してたのを...
-
来客駐車場4台分の管理をエク...
-
1日5組限定とは、どうゆうこと...
-
女体盛りって本当にあるのですか?
-
高校生です。 電話で美容院を予...
-
予約が一杯の時お断りする方法
-
予約先着特典とはなんですか?...
-
歯医者行くのを忘れて2回バック...
-
ドコモショップへDOCOPYのみの...
-
英語で診療予約は?
-
羽田空港 P2駐車場の予約キャ...
-
美容室に当日の予約を入れるの...
-
アマゾン 予約したのに遅い、、、
-
精神的に追い詰めてくる上司。...
-
ディズニーアンバサダーホテル...
-
ホットペッパービューティーの...
-
美容室の予約に使う電話番号は...
-
ホテルの予約は何ヶ月前からで...
おすすめ情報