php 按月生成数据表,php数据库按月显示数据表

该博客内容涉及MySQL数据库查询技巧,通过查询dede_archives表,利用DATE_FORMAT和FROM_UNIXTIME函数格式化并统计过去一年各个月份的文章数量。查询条件使用BETWEEN操作符筛选出最近一年的数据,并用GROUP BY按月份分组,结果显示没有数据的月份不会出现在结果集中,提示可能需要PHP循环来填充缺失的月份。
摘要由CSDN通过智能技术生成

首先是数据库查询SELECT DATE_FORMAT(FROM_UNIXTIME(sortrank),'%Y%m') AS MONTH,COUNT(*) AS num

FROM `dede_archives`

WHERE `sortrank`

BETWEEN UNIX_TIMESTAMP(NOW()) - 31556926

AND UNIX_TIMESTAMP(NOW())

GROUP BY MONTH

sortrank 是日期字段

DATE_FORMAT('字段','%m-%d')  函数用于以不同的格式显示日期/时间数据。

FROM_UNIXTIME 格式化MYSQL时间戳函数

BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。

GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。整句意思就是查询 YM年月 命名month,然后他的数量命名num

来自dede_archives 表,

条件是 sortrank 字段

在 UNIX_TIMESTAMP(NOW()) - 31556926 当前时间减少1年 //你要是想查3年就在数字后面*3即可

和当前时间中间

进行结合 按照月份

如果要所有时间则可以把where删掉即可

86a11ec6dffc8e58aa1040d606bb7e2f.png

得出的结果我们可以发现,为0的月份是没有的!

那么我们就需要php循环了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值