2013-06-21 2 views
0

시간과 평균을 출력하는 쿼리가 있습니다. 유일한 문제는 - 내가 이것을 실행하고있는 6 주간의 기간에 아무 일도 일어나지 않는다면, 바로 건너 뜁니다 ... 그 자리에 NULL 또는 0을 갖기 위해 15 분의 기간이 필요합니다. 내 검색어는 다음과 같습니다.MySQL - 결과가없는 시간 기반 쿼리에 0을 추가하십시오.

$staffing_qry = "SELECT MAKETIME(hour(opened_dt),floor(minute(opened_dt)/15)*15,0) AS time, "; 
$staffing_qry .= "ROUND(COUNT(*)/COUNT(DISTINCT DATE(opened_dt)),1) AS calls, "; 
$staffing_qry .= "ROUND(AVG(work_time)/60,1) AS work, "; 
$staffing_qry .= "ROUND(AVG(tele_time)/60,1) AS tele, "; 
$staffing_qry .= "ROUND(AVG(comm_time)/60,1) AS comm, "; 
$staffing_qry .= "ROUND(IFNULL(COUNT(*)/COUNT(DISTINCT DATE(opened_dt)),0)/3,1) AS techs "; 
$staffing_qry .= "FROM detail_head "; 
$staffing_qry .= "LEFT JOIN detail_detail ON detail_detail.detail_head_uid = detail_head.detail_head_uid "; 
$staffing_qry .= "WHERE dayname(opened_dt) = $dow_option $staffing_option $proactive_option $incoming_option "; 
$staffing_qry .= "AND (DATE(opened_dt) >= (CURDATE() - INTERVAL 42 DAY))"; 
$staffing_qry .= "GROUP BY (hour(opened_dt)*100)+floor(minute(opened_dt)/15) "; 

제안 사항?

+0

이러한 질문에 대한 스택 오버 플로우의 전체 부분이 있습니다. 그것은 "간격과 제도"라고합니다. 질문에 태그를 추가하여 더 많은 잠재 고객을 확보했습니다. 여기를 참조하십시오 : http://stackoverflow.com/questions/tagged/gaps-and-islands?sort=frequent –

+0

알았어요 - 어떻게이 질문에 맞는이 질문을 볼 수 있습니다 ... 감사합니다! 내 특정 쿼리에 대한 해결책이 있습니까? 이들 중 상당수는 주어진 쿼리에만 적용됩니다. – brandoncluff

+0

죄송합니다. 나는 그것을 어디에서 분류해야 하는지를 알고 있습니다. –

답변

0

는 해결 :

if(isset($_REQUEST['date_range'])) { 
     $date_range_option = (integer) $_REQUEST['date_range']; 
} 
관련 문제