Mysql 查询今日的数据、近七天的数据、近30天的数据,以此类推

mybatis配置文件写SQL语句的某些字符需要转义:

	&lt;       < 
    &gt;       >  
    &lt;&gt;   <>
    &amp;      & 
    &apos;      '
    &quot;      "

注意:str_to_date函数里面的两个参数的格式要一样,跟date_format函数不一样,它不是格式化函数

1、准备测试的数据

create database demo;
use demo;
DROP TABLE IF EXISTS test_date;
CREATE TABLE test_date (
id int(12) NOT NULL AUTO_INCREMENT,
create_date datetime DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;


– Records of test_date


INSERT INTO test_date VALUES (‘1’, ‘2018-12-17 00:00:00’);
INSERT INTO test_date VALUES (‘2’, ‘2018-12-16 00:00:00’);
INSERT INTO test_date VALUES (‘3’, ‘2018-12-15 00:00:00’);
INSERT INTO test_date VALUES (‘4’, ‘2018-12-14 00:00:00’);
INSERT INTO test_date VALUES (‘5’, ‘2018-12-13 00:00:00’);
INSERT INTO test_date VALUES (‘6’, ‘2018-12-12 00:00:00’);
INSERT INTO test_date VALUES (‘7’, ‘2018-12-11 00:00:00’);
INSERT INTO test_date VALUES (‘8’, ‘2018-12-10 00:00:00’);
INSERT INTO test_date VALUES (‘9’, ‘2018-12-09 00:00:00’);
INSERT INTO test_date VALUES (‘10’, ‘2018-12-08 00:00:00’);
INSERT INTO test_date VALUES (‘11’, ‘2018-12-07 00:00:00’);
INSERT INTO test_date VALUES (‘12’, ‘2018-12-06 00:00:00’);
INSERT INTO test_date VALUES (‘13’, ‘2018-12-05 00:00:00’);
INSERT INTO test_date VALUES (‘14’, ‘2018-12-04 00:00:00’);

2、查询近七天的数据:

SELECT * FROM test_date where DATE_SUB(CURDATE(), INTERVAL 6 DAY) <= create_date

DATE_SUB() 函数从日期减去指定的时间间隔。
DATE_SUB(date,INTERVAL expr type),6表示截取的天数,最后的DAY表示按天来进行截取。
CURDATE()表示当前的系统时间(日期),另有CURTIME()表示当前的系统时间(时分秒)。
在这里插入图片描述

3、查询近30天的数据:

SELECT * FROM test_date where DATE_SUB(CURDATE(), INTERVAL 29 DAY) <= create_date;

4、查询今天的数据:

SELECT * FROM test_date where DATE_SUB(CURDATE(), INTERVAL 0 DAY) <= create_date
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值