Khi bạn cần một cái gì đó tương tự ở phía máy chủ, bạn thường tạo một bảng chứa tất cả các ngày có thể có giữa hai thời điểm, sau đó nối bảng này với kết quả truy vấn. Một cái gì đó như thế này:
create procedure sp1(d1 date, d2 date)
declare d datetime;
create temporary table foo (d date not null);
set d = d1
while d <= d2 do
insert into foo (d) values (d)
set d = date_add(d, interval 1 day)
end while
select foo.d, count(date)
from foo left join table on foo.d = table.date
group by foo.d order by foo.d asc;
drop temporary table foo;
end procedure
Trong trường hợp cụ thể này, tốt hơn là nên kiểm tra một chút ở phía khách hàng, nếu ngày hiện tại không phải là previos + 1, hãy đặt một số chuỗi bổ sung.