2017-09-25 3 views
0

週ごとのレポートに使用するテーブルを作成していますが、最初にデータのアイデアを得るためにクエリから始めます。where/ifステートメントを使用して既存の値を見つけて合計/カウントする

以下、私の主な質問は現在ありませんが、現在の「合計」の列には、別の合計を表示するパートナー列が必要です。基本的には、これは電話に関するすべてのものなので、現在は電話の合計(合計通話、合計が不在、合計インバウンド、合計アウトバウンド)がありますが、それぞれの通話には既知の通話量私たちのデータベースの数字。

phone_numberというフィールドを持つambition.ambition_customer_dataというテーブルがあります。だから、私の質問で約8行見ている場合は、数字の合計か数を取得する必要があります。calledpartyno = ambition_customer_data.phone_number OR finallycalledpartyno = ambition_customer_data.phone_numberが意味があれば。

他の列については、同じことをする必要がありますが、下に表示されているlegtype列に基点を置く必要がありますが、最初にこれを行う方法がわかっていれば、それらに適用することができます。私はSUMを実行することができたと思っていました(どこにcalledpartyno(ambition_customer_dataからphone_numberを選択してください))が動作しないようです。

私は現在、不完全なIFステートメントを持っています。私はこれを行うことができる最善の方法のヒント?

SELECT 
    u.firstn 
    , u.lastn 
    , c.extension 
    , SUM(IF(LEGTYPE1 = 1, 1, 0)) +     -- outbound calls 
      SUM(IF(LEGTYPE1 = 2, 1, 0) AND ANSWERED = 1) + -- inbound calls 
      SUM(IF(Answered = 1, 0, 1)) AS Total_Calls 

    , sum(if calledpartyno =) /*HERE IS MY ISSUE CURRENTLY*/ 

    , sum(if(Answered = 1,0,1)) AS Total_Missed 

    , sum(if(LEGTYPE1 = 2,1,0) and ANSWERED = 1) AS Total_Recieved 

    , sum(if(LEGTYPE1 = 1,1,0)) AS Total_Outbound 

    , round(sum(Duration)/60,2) AS Total_Talk_Time_minutes 

    , sum(if(Answered = 1,0,1))/(SUM(IF(LEGTYPE1 = 1, 1, 0)) +     -- outbound calls 
      SUM(IF(LEGTYPE1 = 2, 1, 0) AND ANSWERED = 1) + -- inbound calls 
      SUM(IF(Answered = 1, 0, 1))) * 100 AS Percentage_Missed 




     FROM ambition.session a 
     INNER JOIN ambition.callsummary b 
      ON a.NOTABLECALLID = b.NOTABLECALLID 
     INNER join ambition.mxuser c 
      ON a.RESPONSIBLEUSEREXTENSIONID = c.EXTENSIONID 
     INNER join jackson_id.users u 
      on c.extension = u.extension 
     WHERE b.ts between curdate() - interval 5 day and now() 
     AND c.extension IN (7276,7314,7295,7306,7357,7200,7218,7247,7331,7255,7330,7000,7215,7240,7358,7312) 
     group by c.extension; 

答えて

1

あなたはこのようなものを探しています。

SUM(CASE CONDITION_HERE THEN COLUMN_TO_SELECT END)SELECTION_NAME`

`AS
関連する問題