2016-08-24 9 views
0

以下のクエリで何が間違っていますか。私は、「引数の不良数を。
予想される3つの引数は」このエラーを取得しています私はSUM文で間違った
クエリ実行時のエラー

SELECT 
    groupname, 
    EXACT_COUNT_DISTINCT(prodname) AS COUNT_prodname, 
    SUM(IF(category = 'AAA') AND (Label = 'n')) AS COUNT_prod_success 
FROM 
[mytable] 
WHERE 
    name CONTAINS('XYZ') 
    AND Package ='ABCD' 
    AND (StartTime > ('2016-01-24 00:00:00 UTC') 
    AND StartTime < ('2016-03-16 00:00:00 UTC') 
    OR (StartTime > ('2016-03-26 00:00:00 UTC') 
     AND StartTime < CURRENT_TIMESTAMP())) 
GROUP BY 
    1 
ORDER BY 
    2 DESC IGNORE CASE 

答えて

2

をつもりだと思いますが(ここで

IF IF()関数に問題があります

IF(condition, true_return, false_return) 

だから、何かリットルでなければなりません - カテゴリ= 'AAA')は

関数は、3つの引数を必要とする場合IKE

また
IF(category = 'AAA', 1, 0) 

- ここ不審に見えるもの

AND (Label = 'n') 

は、あなたが

ようなものを意味していることも可能である(IF外の余分な条件)以下である(しかし設計によることができることを確認して)
IF(category = 'AAA' AND Label = 'n', 1, 0) 
+0

2つの条件を組み合わせることはできませんか?同じ目標を達成するための選択肢はありますか?あなたの助けを感謝します – rbkk2016

+0

明確にする - あなたは結合しないことを意味しますか?私はこれが動作すると思います例 –

+0

を与える... SUMを()1,0、カテゴリが= 'AAA'(IF)AND 1,0、(ラベル= 'N' IF)とき、私COUNT_prod_successが – rbkk2016