美文网首页
Mysql 查询今日的数据、近七天的数据、近30天的数据

Mysql 查询今日的数据、近七天的数据、近30天的数据

作者: 汤海怪 | 来源:发表于2019-12-24 22:55 被阅读0次

    创建我们的数据集

    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;
    

    添加数据

    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()表示当前的系统时间(时分秒)。


    image.png

    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
    

    相关文章

      网友评论

          本文标题:Mysql 查询今日的数据、近七天的数据、近30天的数据

          本文链接:https://www.haomeiwen.com/subject/iekqoctx.html