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

相关推荐
forestsea1 分钟前
全解:Redis RDB持久化和AOF持久化
数据库·redis·缓存
叫我DPT2 分钟前
分享一个python启动文件脚本(django示例)
数据库·python·django
XXYBMOOO43 分钟前
基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现
数据库·c++·qt
Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
嘉嘉king1 小时前
Mysql联表查询
数据库
镜舟科技2 小时前
NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
数据库·starrocks·nosql·newsql·技术架构·实时数据分析
TDengine (老段)2 小时前
TDengine 语言连接器(Node.js)
大数据·c语言·数据库·物联网·node.js·时序数据库·tdengine
Sunlight_7772 小时前
第五章 SQLite数据库:3、SQLite 常用语法及使用案例
jvm·数据库·sqlite
数据库砖家3 小时前
YashanDB|虚拟内存高出实际内存十几G?原因不只是“占用大”这么简单
数据库