微信号:phpdaily

介绍:PHP在线专注于PHP编程语言学习,PHP开发经验分享,工作问题解决以及PHP在线技能测评等多功能为一体的服务系统,希望给工作学习中的PHPER带来些帮助。

MySQL常用的SQL查询语句

2018-08-20 08:00 PHP在线

微信公众号:PHP在线

在MySQL的学习过程中,最复杂,最考验SQL功底的就是SELECT查询语句了。下面总结一下在WEB网站开发中比较实用的时期查询SQL语句。假设MySQL数据库表中时间字段为add_time,类型为datetime。

1、查询当天

SELECT * FROM `article` WHERE to_days(`add_time`) = to_days(now());

2、查询昨天

SELECT * FROM `article` WHERE to_days(now()) – to_days(`add_time`) = 1;

3、查询最近7天

SELECT * FROM `article` WHERE date_sub(curdate(), INTERVAL 7 DAY) <= DATE(`add_time`);

或者

SELECT * FROM `article` WHERE curdate()- INTERVAL 7 DAY <= DATE(`add_time`);

4、查询最近30天

SELECT * FROM `article` WHERE date_sub(curdate(), INTERVAL 30 DAY) <= DATE(`add_time`);

或者

SELECT * FROM `article` WHERE curdate()-INTERVAL 30 DAY <= DATE(`add_time`);

5、查询截止到当前本周

SELECT * FROM `article` WHERE YEARWEEK(date_format(`add_time`,'%Y-%m-%d')) = YEARWEEK(now());#默认从周日开始到周六
SELECT * FROM `article` WHERE YEARWEEK(date_format(`add_time`,'%Y-%m-%d'),1) = YEARWEEK(now(),1);#设置为从周一开始到周日

6、查询上周的数据

SELECT * FROM `article` WHERE YEARWEEK(date_format(`add_time`,'%Y-%m-%d')) = YEARWEEK(now())-1;

7、查询截止到当前本月

SELECT * FROM `article` WHERE date_format(`add_time`, '%Y%m') = date_format(curdate() , '%Y%m');

8、查询上一月

SELECT * FROM `article` WHERE period_diff(date_format(now() , '%Y%m') , date_format(`add_time`, '%Y%m')) =1;



 
PHP在线 更多文章 世界已经无法阻挡Python入侵。 事件驱动架构设计 PHP数组使用之道(干货) 浅谈API的设计及其安全性 GitHub 的 MySQL 高可用性实践分享
猜您喜欢 周报15|信息界的三把“利刃” 共享单车界的杀马特!!!奢华版Plus 土豪金加共享充电宝 数据缩减技术效率对比 JAVA覆盖率工具EMMA 2018年开发者不可错过的开源工具 —— Android 篇