sql >> データベース >  >> RDS >> Mysql

条件付きのMySql検索ランキング

    指定されたキャンペーンの顧客の合計通話数と応答通話数をカウントするクエリ

    select 
        c.id,
        count(*) as total_calls,
        sum(case when answered=1 then 1 else 0 end) as answered_calls
    from customer c
         join calls cs on c.id=cs.customer_id
    where cs.campaign='2016-09'
    group by c.id
    

    次に、上記のクエリをサブクエリとして使用して注文できます

    select sub.id, (@rank:[email protected]+1) as rank
    from (the subquery above) sub, (select @rank:=1)
    order by 
      case when sub.total_calls=0 then 0 else 1,
      sub.total_calls, 
      sub.answered_calls*100/sub.total_calls
    

    結果クエリに任意の列を含めることができます




    1. Oracle SQL Developerでジョブをスケジュールする方法は?

    2. 配列をMySQLストアドルーチンに渡す

    3. 値がnullの場合、デフォルトをnull以外の列に挿入します

    4. LinqtoOracleを使用する方法はありますか