검색 중이므로 에 대한 답변을 찾을 수 없습니다.MySQL NULL 값을 GROUP BY HOUR로 채우기 쿼리
나는 내가 원하는 결과를 생산할 예정이 쿼리
SELECT
HOUR(ce.datetime_entry_queue) hour,
COUNT(ce.id) incoming,
COUNT(IF(ce.datetime_init IS NULL,1,NULL)) dropped,
COUNT(IF(ce.datetime_init IS NOT NULL,1,NULL)) answered
FROM
call_center.call_entry ce
WHERE
ce.datetime_entry_queue>='2014-09-04 15:00:00' AND
ce.id_campaign='1'
GROUP BY HOUR(ce.datetime_entry_queue)
이 함께 얻을거야 시간별 보고서를 만들고 싶어.
|hour|incoming|dropped|answered|
|----|--------|-------|--------|
| 15 | 200 | 2 | 198 |
| 16 | 220 | 10 | 210 |
| 17 | 154 | 0 | 154 |
마녀 괜찮 다음,하지만 만약 있다면 17:00까지 16:00 내가 다음과 같은 결과를 얻을 것이다 16 시간에는 전화가 없습니다로 저에게 결과를 제공합니다.
|hour|incoming|dropped|answered|
|----|--------|-------|--------|
| 15 | 200 | 2 | 198 |
| 17 | 154 | 0 | 154 |
어떻게 쿼리 내가 시간을 포함하는 테이블을 만드는 시도했습니다이
|hour|incoming|dropped|answered|
|----|--------|-------|--------|
| 15 | 200 | 2 | 198 |
| 16 | 0 | 0 | 0 |
| 17 | 154 | 0 | 154 |
처럼 0 값으로 null 값의 행을 반환받을 수 (0 - 23)
CREATE TABLE `report_hours` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`hour` INT(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
AUTO_INCREMENT=25;
검색어 :
SELECT
rh.hour,
COUNT(ce.id) incoming,
COUNT(IF(ce.datetime_init IS NULL,1,0)) dropped,
COUNT(IF(ce.datetime_init IS NOT NULL,1,0)) answered
FROM
call_center.report_hours rh
LEFT JOIN
call_center.call_entry ce
ON
HOUR(ce.datetime_entry_queue)=rh.hour
WHERE
ce.datetime_entry_queue>='2014-09-05 15:00:00' AND
ce.id_campaign='1'
GROUP BY rh.hour
도와주세요.
는
매력처럼 작동합니다 .-) 감사합니다. – user1972670
듣기 좋습니다! 설명을 추가했습니다. – Rimas