Я пытаюсь получить COUNT за последние 12 месяцев встреч, сгруппированных по месяцам, для вывода в диаграмму. Следующее работает нормально, но мне нужно, чтобы он возвращал 0, если нет результатов за каждый месяц.
$query = "SELECT COUNT(id) as total_month FROM appointments WHERE created >= DATE(NOW()) - INTERVAL 365 DAY GROUP BY Month(created)";
$query = $mysqli->real_escape_string($query);
if($result = $mysqli->query($query)){
while($row = $result->fetch_array())
{
$month_total_appointments .= $row['total_month'].',';
}
}
echo $month_total_appointments;
================================================================
Simple table structure and example for appointments Table
id customer_name created
1 John 2020-05-01 08:00:00 <= stored as datetime
2 Mike 2020-04-01 09:00:00
3 Steve 2020-02-01 10:00:00
Output would be 0,0,0,0,0,0,0,0,1,0,1,1
======================================================
Текущий результат: 1,1,1
Я читал, что некоторые используют месяц table и LEFT JOIN, но все, что я пробовал, похоже, не работает. Кто-нибудь может помочь, пожалуйста?