MySQL - добавить нули в основанный на времени запрос, где результат не найден
У меня есть запрос, который выводит время и средние. Единственная проблема в том, что - если ничего не произошло в течение периода времени в 6 недель, в течение которого я выполняю это - он пропускает это сразу... Мне нужен этот 15-минутный период, чтобы иметь значение NULL или ноль на своем месте. Вот мой запрос:
$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) ";
Предложения?
1 ответ
Решение
ПОСТАНОВИЛИ:
if(isset($_REQUEST['date_range'])) {
$date_range_option = (integer) $_REQUEST['date_range'];
}