在很多场景下,我们需要在数据库中按照时间进行分组查询与统计。在界面上按照时间段展示查询到的结果。但是数据库中查询时,只会查出实际存在的时间段,这种情况下,我们更倾向于在代码中构造时间段,而不是想办法在数据库中强行构造空记录。
处理步骤如下:
* 使用map记录查询到的记录
* 构造完整时间顺序的时间段数组
* 遍历这个时间段数组,将map中存在的记录进行填充,不存在的记录设为默认值
下面只给出构造时间段数组的方法
func main() {
// 获取当天0点时间
t := time.Now()
start := time.Date(t.Year(), t.Month(), t.Day()