0

これがmysqlクエリです

SELECT CallDate,SUM(Hour0) AS FailedCalls FROM call_status WHERE CallDate='2012-09-14' AND CallStatusId NOT IN (42,52)

UNION

SELECT CallDate,SUM(Hour0) AS SuccessCalls FROM call_status WHERE CallDate='2012-09-14' AND CallStatusId IN (42,52);

ここに出力があります ここに画像の説明を入力

小さい画像でごめんなさい。ご覧のとおり、上記のクエリから Failed Calls を選択し、2 番目のクエリを使用して SuccessCalls を選択しました。

更新: 正しいクエリは次のとおりです。

SELECT CallDate,
SUM(CASE WHEN (CallStatusId NOT IN(42,52)) THEN Hour0
ELSE 0 
END) AS FailedCalls,
SUM(CASE WHEN (CallStatusId IN (42,52)) THEN Hour0
ELSE 0
END) AS SuccessCalls
FROM call_status
WHERE CallDate='2012-09-14';
4

1 に答える 1

0

これらの線に沿った何か?

SELECT CallDate
      ,SUM( CASE WHEN (Hour0 != 42 AND Hour0 != 52) THEN 1 ELSE 0 END ) AS FailedCalls
      ,SUM( CASE WHEN (Hour0  = 42  OR Hour0  = 52) THEN 1 ELSE 0 END ) AS SuccessCalls
  FROM call_status
  WHERE CallDate='2012-09-14'
于 2012-10-05T11:55:46.723 に答える