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`;

相关推荐
武子康17 小时前
Java-151 深入浅出 MongoDB 索引详解 性能优化:慢查询分析 索引调优 快速定位并解决慢查询
java·开发语言·数据库·sql·mongodb·性能优化·nosql
Mr Aokey19 小时前
解决Redis数据丢失难题:深入理解RDB与AOF持久化机制
数据库·redis·缓存
KaiwuDB19 小时前
深度剖析:KWDB SQL 编译与优化策略
数据库
翰林小院19 小时前
【MongoDB】 MongoDB index overview
数据库·mongodb
Albert Edison19 小时前
【MySQL】数据类型
数据库·mysql·adb·oracle
遇见火星20 小时前
MYSQL-物理备份(xtrabackup)使用指南
数据库·mysql·adb
爱可生开源社区20 小时前
医疗业务系统升级,这家三甲医院为何牵手 OceanBase?(SQLServer->OceanBase)
数据库
huihuihuanhuan.xin20 小时前
后端八股之mysql
数据库·mysql
洋不写bug20 小时前
数据库数据类型,数据值类型,字符串类型,日期类型详解
数据库·mysql
Paraverse_徐志斌21 小时前
RAG架构(检索增强生成)与向量数据库
数据库·ai·llm·embedding·milvus·rag