2017-09-27 29 views
0

ユーザーが使用したプロモーションコードで注文されたクエリを作成しようとしていますが、その中から無料プランの数と有料プランの数を教えてください。ここで私の試みです。mysql selectステートメントのサブクエリ

select count(refer) as promo, (count(plan) 
    from users 
    where plan = 'free' 
) as free, (count(plan) 
    from users 
    where plan <> 'free' 
) as pay from users 
where refer <> '' 
group by refer 

これは機能しませんが、私はそれを動作させるために何を変更するのかは分かりません。

答えて

0

これは、関数CASEを通じて、その後のために1つの終わりを何

select count(refer) as promo, 
count(case when plan = 'free' then 1 end) as free 
count(case when plan <> 'free' then 1 end) as pay 
from users 
where refer <> '' 
group by refer 
+0

おかげで、可能ですか? – Aaron

+0

単なるシンボルで、これはcount関数のコンテキストです – soft87

関連する問題