服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - mysql 查询当天、本周,本月,上一个月的数据

mysql 查询当天、本周,本月,上一个月的数据

2020-08-24 15:49沐浴春风 Mysql

这篇文章主要介绍了mysql 查询当天、本周,本月,上一个月的数据的sql代码,在文中还给大家提到了mysql如何查询当天信息,具体内容详情大家参考下本文

今天

?
1
select * from 表名 where to_days(时间字段名) = to_days(now());

昨天

?
1
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1

近7天

?
1
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

近30天

?
1
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

本月

?
1
SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

上一月

?
1
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

查询本季度数据

?
1
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(now());

查询上季度数据

?
1
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

查询本年数据

?
1
select * from `ht_invoice_information` where YEAR(create_date)=YEAR(NOW());

查询上年数据

?
1
select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year));

查询当前这周的数据

?
1
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());

查询上周的数据

?
1
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;

查询上个月的数据

?
1
2
3
4
5
6
select name,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
select * from user where DATE_FORMAT(pudate,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') ;
select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = WEEKOFYEAR(now())
select * from user where MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now())
select * from user where YEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = YEAR(now()) and MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now())
select * from user where pudate between 上月最后一天 and 下月第一天

查询当前月份的数据

?
1
select name,submittime from enterprise  where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')

查询距离当前现在6个月的数据

?
1
select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now();

PS:下面看下mysql如何查询当天信息?

原来不是太熟悉SQL查询语句,什么都是用到了再去查去找,还好网络提供给我们很多支持。今天又用到了一个语句,一时间真想不出怎么解决,到网上看了看,感觉就有一个,怎么那么简单啊。需要积累的东西真是太多了。

今天就把我这个简单的问题记录下来吧!算是一个积累:

mysql查询当天的所有信息:

?
1
select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) and day(regdate)=day(now())

这个有一些繁琐,还有简单的写法:

?
1
select * from table where date(regdate) = curdate();

date()函数获取日期部分, 扔掉时间部分,然后与当前日期比较即可

原文链接:https://www.cnblogs.com/benefitworld/p/5832897.html

延伸 · 阅读

精彩推荐
  • Mysqlmysql索引学习教程

    mysql索引学习教程

    在mysql 中,索引可以分为两种类型 hash索引和 btree索引。这篇文章主要介绍了mysql索引的相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧...

    自由港4352020-06-23
  • MysqlMSSQL根据ID进行分页实现方法

    MSSQL根据ID进行分页实现方法

    本文将详细介绍MSSQL根据ID进行分页实现方法,需要的朋友可以参考下 ...

    MYSQL教程网3122019-12-11
  • Mysqlmysql数据库从服务器移植到个人PC的方法

    mysql数据库从服务器移植到个人PC的方法

    有时候本地也需要数据库进行测试,那么就需要将服务器的东西移植到本地,如果有服务器控制权限,可以直接复制mysql的目录(windows下),如果是别的那么...

    MYSQL教程网2082019-11-22
  • MysqlMySql获取某个字段存在于哪个表的sql语句

    MySql获取某个字段存在于哪个表的sql语句

    本文为大家详细介绍下通过MySql查询某个字段所在表是哪一个,具体的sql语句如下,感兴趣的朋友可以参考下,希望对大家有所帮助 ...

    MYSQL教程网3232020-01-07
  • MysqlMysql支持的数据类型(列类型总结)

    Mysql支持的数据类型(列类型总结)

    MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的...

    默默淡然1552020-07-05
  • Mysqlmysql数据库修改数据表引擎的方法

    mysql数据库修改数据表引擎的方法

    对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam,那如何修改修改MySQL的引擎为INNODB呢,下面...

    MYSQL教程我5202020-03-11
  • Mysql全面解析Windows下安装 mysql5.7的方法

    全面解析Windows下安装 mysql5.7的方法

    这篇文章主要介绍了全面解析Windows下安装 mysql5.7的方法的相关资料,需要的朋友可以参考下...

    xinlinjun2192020-06-17
  • MysqlMySQL存储全角字符和半角字符的区别

    MySQL存储全角字符和半角字符的区别

    这篇文章主要介绍了MySQL存储全角字符和半角字符的区别的相关资料,需要的朋友可以参考下...

    linux_c_coding_man1272020-07-29