在MySQL中,没有直接的方法可以做到这一点。最好的选择是用您选择的服务器端语言生成一个daterange数组,然后从数据库中提取数据,并使用date作为键将结果数组与daterange数组合并。
您使用哪种服务器端语言?
编辑:
基本上,您将要做的是(伪代码):
// Create an array with all dates for a given rangedates = makeRange(startDate, endDate);getData = mysqlQuery('SELECt date, x, y, z FROM a WHERe a AND b AND c');while (r = fetchRowArray(getData)) { dates[ date(r['date']) ] = Array ( x, y, z);}您最终将获得一系列可以循环浏览的日期,以及具有或不具有活动数据的日期。
可以轻松修改以按小时分组/过滤数据。



