MySQL 函数

1、CURDATE():返回当前的日期。

2、查询当前年月

SELECT DATE_FORMAT(CURDATE(),'%Y-%m') AS `year_month`

3、当前日期添加 1 个月

INTERVAL 1 MONTH

4、查询近6个月的月份

SELECT DATE_FORMAT(CURDATE(),'%Y-%m')AS `year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 1 MONTH),'%Y-%m')AS `year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 2 MONTH),'%Y-%m')AS `year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 3 MONTH),'%Y-%m')AS` year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 4 MONTH),'%Y-%m')AS` year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 5 MONTH),'%Y-%m')AS` year_month`

5、查询近6个月发布的文章数

SELECT t1.`year_month`,count(t2.id) as total FROM

(

SELECT DATE_FORMAT(CURDATE(),'%Y-%m')AS `year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 1 MONTH),'%Y-%m')AS `year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 2 MONTH),'%Y-%m')AS `year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 3 MONTH),'%Y-%m')AS` year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 4 MONTH),'%Y-%m')AS` year_month`

UNION SELECT DATE_FORMAT((CURDATE()-INTERVAL 5 MONTH),'%Y-%m')AS` year_month`

)t1

LEFT JOIN mxg_article t2

ON t1.`year_month`= DATE_FORMAT(t2.create_date,'%Y-%m')

AND t2.`status`=2 AND t2.ispublic=1

GROUP BY t1.`year_month`;

相关推荐
暴躁小师兄数据学院1 小时前
【AI大数据工程师特训笔记】第05讲:关联查询
数据库·sql·oracle
倔强的石头_2 小时前
《Kingbase护城河》——跨平台环境下的数据库联调实战
数据库
lzhdim2 小时前
SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析
数据库·sql·mysql·json
杨云龙UP2 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
kingwebo'sZone2 小时前
在Cent上安装Mysql 8.0的遇到的问题和解决办法
数据库·mysql·adb
幽络源小助理2 小时前
最新知识付费系统网站源码 PC+H5双端 附安装教程 – 幽络源源码网
大数据·数据库
小白考证进阶中3 小时前
Oracle OCP证书报考&考试全指南
数据库·oracle·oracle ocp·ocp认证·oracle认证·甲骨文认证·oracle ocp题库
Leon-Ning Liu4 小时前
【真实经验分享】 ORA-600 [qesmaGetTblSeg1]
数据库·oracle
与数据交流的路上4 小时前
MySQL 优化 -- 相关
数据库·mysql
Rooting++4 小时前
为什么mysql的表字段的collation会自动变
数据库·mysql