2014-04-03 2 views
0

У меня есть следующий SELECT заявление:SQL Count все даты ocourence пр

SELECT TO_DATE(DATETIME, 'yyyy-mm-dd'), 
     COUNT(CASE WHEN INITIALS is not null THEN 1 END) AS ANSWERED, 
     COUNT(CASE WHEN INITIALS is not null AND RESPONSE_TIME BETWEEN 0 AND 30 THEN 1 END) AS ANSWERED_WITHIN_30_SEC 
FROM  KS_DRIFT.V_WEBDESK_SERVICECENTER 
WHERE DATETIME BETWEEN '2014-03-19' AND '2014-04-01' 
GROUP BY DATETIME 

которая выводит следующее:

Error sample

Как вы можете видеть, что печатает тот же день со значением 1.

То, что я хочу достичь, - это одно значение дня.

Я попытался с них ключевым словом DISTINCT но, к сожалению, без каких-либо изменений ...

Что мне не хватает?

ответ

1

Является ли ваш столбец «DATETIME» полем DATETIME? Если это так, вы должны группировать по вашему TO_DATE выберите:

SELECT TO_DATE(DATETIME, 'yyyy-mm-dd'), 
     COUNT(CASE WHEN INITIALS is not null THEN 1 END) AS ANSWERED, 
     COUNT(CASE WHEN INITIALS is not null AND RESPONSE_TIME BETWEEN 0 AND 30 THEN 1 END) AS ANSWERED_WITHIN_30_SEC 
FROM  KS_DRIFT.V_WEBDESK_SERVICECENTER 
WHERE DATETIME BETWEEN '2014-03-19' AND '2014-04-01' 
GROUP BY TO_DATE(DATETIME, 'yyyy-mm-dd') 

Объяснение: DATETIME, вероятно, все разные, вам нужно сгруппировать по дате, чтобы иметь правильное количество в день

+0

работал как шарм спасибо! :) –