ORACLEのSQL集計について質問があります。
初めまして当方Oracleを学び始めた初心者なのですがデータ集計で行き止まっています。
下記の結果を出せるSQLを教えて下さりませんでしょうか?
下記の画像のようなテーブルが二つありましてそれらを結合したものがテーブルの下のものになります。
これらのテーブルから最終的に
・購入日が2015/1/1~2015/1/31の期間
の区分ごとの会員人数
・購入日が2015/1/1~2015/2/28の期間
の区分ごとの会員人数
・購入日が2015/1/1~2015/4/30の期間
の区分ごとの会員人数
を集計したいのですがうまくいきません。
先にどのような結果が欲しいかといいますと下記になります。
・購入日が2015/1/1~2015/1/31の期間のもの
会員区分:会員数
0: 0
1: 0
2: 1
・購入日が2015/1/1~2015/2/28の期間のもの
の区分ごとの会員人数
会員区分:会員数
0: 0
1: 1
2: 1
・購入日が2015/1/1~2015/4/30の期間のもの
の区分ごとの会員人数
会員区分:会員数
0: 1
1: 1
2: 1
自分ではどうしても会員IDが重複してしまい下記のようになってしまいます。
下記がSQlになります。
select
会員区分、count(*)
from
会員テーブル A,
レッスン詳細テーブル B
where
A.会員ID = B.会員ID AND
B.購入日 between to_date(20150101,'YYYYMMDD') and to_date(20150131,'YYYYMMDD')
group by
A.会員区分
order by
A.会員区分;
・購入日が2015/1/1~2015/1/31の期間のもの
の区分ごとの会員人数
会員区分:会員数
0: 0
1: 0
2: 1
・購入日が2015/1/1~2015/2/28の期間のもの
の区分ごとの会員人数
会員区分:会員数
0: 0
1: 2
2: 1
・購入日が2015/1/1~2015/4/30の期間のもの
の区分ごとの会員人数
会員区分:会員数
0: 1
1: 4
2: 2
すいませんがSQLのおかしなところがあったら指摘していただけないでしょうか?
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー