mysql查询条数为零_mysql 查询每个月发布的文章数。月份无数据显示为0。如何写SQL呢...
前面兩個兄弟都忽略了題主還要計算沒有記錄的月份嗎?
解決題主的問題首先要構造一下自然月份表,然后才能跟article關聯獲取每個月的數據
創建一張自然月份表monlist:
create table monlist(id int auto_increment primary key,mon char(7));
構造自然月數據記錄我這里有個方法,隨便找一個大于12條記錄的表,這里叫t_log,直接將記錄插入monlist表sql如下:
insert into monlist(mon)
select concat(yy,mon) dt
from (
select bb.yy yy,case when mon<10 then concat('-0',mon) else concat('-',mon) end mon
from (
select @mon:=@mon+1 mon
from t_log,(select @mon:=0) a limit 12) aa
join (
select @yy:=@yy+1 yy
from t_log,(select @yy:=2010) b limit 10) bb) aaa
order by yy,mon;
這里構造了2011-2020年的所有月份,格式為YYYY-MM,結構可以自己調整。
然后再獲取指定時間段的每月文章數:
select a.mon,sum(case when b.id is null then 0 else 1 end) sum
from monlist a
left join article b
on a.mon=date_format(b.createtime,'%Y-%m')
where a.mon>='2015-03' and a.mon<='2017-08'
group by a.mon;
總結
以上是生活随笔為你收集整理的mysql查询条数为零_mysql 查询每个月发布的文章数。月份无数据显示为0。如何写SQL呢...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连接到多台mysql_Oracle通过d
- 下一篇: linux安装mysql社区版 rpm_