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里面去拼接

posted @ 2022-08-28 17:24  霸王龙168  阅读(85)  评论(0)    收藏  举报