mysql日期列表
最近搞到一个有点难的sql
要求按月统计数据 并 将无数据的月份返回0
一开始是想在数据库查出后直接返回
后来发现数据库没有数据的月份会直接把那个月份清洗掉 不显示
难搞 百度了一天
select date_add(DATE_SUB(CURDATE(),INTERVAL DAYOFYEAR(now())-1 DAY),INTERVAL numlist.id month) as date from
(select * from(select help_topic_id as id from mysql.help_topic) a where a.id <= 11) as numlist
where date_add(date_sub(CURDATE(),INTERVAL dayofyear(NOW())-1 day),INTERVAL numlist.id month) <= concat(YEAR(now()),'-12-31')
百度到了这个东西
在数据库找了个表 将对应的日期表现列出来 然后再按日期连接清洗后的数据
sql写完感觉效率太差了
最后还是选择到java里面处理 数据拿到java里面去拼接