実現したいこと
以下のテーブルがあり
|ユーザーID|施設利用日|バス利用|
|001|10/1|なし|
|001|10/2|あり|
|001|10/3|なし|
|001|10/4|なし|
|002|10/1|なし|
|002|10/2|なし|
|003|10/3|なし|
|003|10/4|なし|
|004|10/1|あり|
|004|10/4|なし|
|004|10/5|なし|
バス利用ありのユーザーと利用なしのユーザの平均施設利用回数を取得したいです
総利用回数/ユニーク利用者数で計算しようと考えていまして
001は4回利用
002は2回利用
003は2回利用
004は3回利用
バス利用グループの平均施設利用回数は
7/2=3.5
バス未利用グループの平均施設利用回数は
4/2=2
上記を算出するための分母と分子をSQLで拾いたいのですが
利用ありグループは
select count(distinct(id)) from tbl where バス利用=あり
は2件で欲しい値となりますが、利用なしグループは
select count(distinct(id)) from tbl where バス利用=なし
では4件となってしまいます
以下のようにグルーピングするためにはどのようなsqlを記述すればよいでしょうか?
|001|10/1|なし|
|001|10/2|あり|
|001|10/3|なし|
|001|10/4|なし|
|004|10/1|あり|
|004|10/4|なし|
|004|10/5|なし|
|002|10/1|なし|
|002|10/2|なし|
|003|10/3|なし|
|003|10/4|なし|
回答1件
あなたの回答
tips
プレビュー