外贸网站谷歌推广,做网站不给提供ftp,中山网红打卡点,做视频网站带宽要目录
题目
准备数据
分析数据
总结 题目
找出与之前#xff08;昨天的#xff09;日期相比温度更高的所有日期的 id 。
准备数据
## 创建库
create database db;
use db;## 创建表
Create table If Not Exists Weather (id int, recordDate date, temperature int);#…目录
题目
准备数据
分析数据
总结 题目
找出与之前昨天的日期相比温度更高的所有日期的 id 。
准备数据
## 创建库
create database db;
use db;## 创建表
Create table If Not Exists Weather (id int, recordDate date, temperature int);## 向表中插入数据
Truncate table Weather;
insert into Weather (id, recordDate, temperature) values (1, 2015-01-01, 10);
insert into Weather (id, recordDate, temperature) values (2, 2015-01-02, 25);
insert into Weather (id, recordDate, temperature) values (3, 2015-01-03, 20);
insert into Weather (id, recordDate, temperature) values (4, 2015-01-04, 30);
weather表 分析数据 2015-01-02 的温度比前一天高10 - 25 2015-01-04 的温度比前一天高20 - 30 第一步先自连接起来a表是第二天b表是上一天
select a.id,a.recordDate,a.temperature,b.recordDate,b.temperature from Weather a join Weather b
on a.recordDate date_add(b.recordDate,interval 1 day); 说明因为2015-01-01没有上一天所以排除这一列 第二步找出与之前昨天的日期相比温度更高的所有日期的 id
select a.id from Weather a join Weather b
on a.recordDate date_add(b.recordDate,interval 1 day)
where a.temperature b.temperature; 总结 说明MySQL中日期加减操作 在MySQL中可以使用DATE_ADD()和DATE_SUB()函数来进行日期的加减操作。 例如要在当前日期上加上一个指定的时间间隔可以使用DATE_ADD()函数 SELECT DATE_ADD(NOW(), INTERVAL 1 DAY); -- 加1天 SELECT DATE_ADD(NOW(), INTERVAL 1 WEEK); -- 加1周 SELECT DATE_ADD(NOW(), INTERVAL 1 MONTH); -- 加1月 SELECT DATE_ADD(NOW(), INTERVAL 1 YEAR); -- 加1年 相反如果要进行减法操作可以使用DATE_SUB()函数 SELECT DATE_SUB(NOW(), INTERVAL 1 DAY); -- 减1天 SELECT DATE_SUB(NOW(), INTERVAL 1 WEEK); -- 减1周 SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH); -- 减1月 SELECT DATE_SUB(NOW(), INTERVAL 1 YEAR); -- 减1年 也可以用和-运算符来进行操作但需要将间隔转换为一个INTERVAL值 SELECT NOW() INTERVAL 1 DAY; -- 加1天 SELECT NOW() - INTERVAL 1 DAY; -- 减1天 请注意NOW()函数返回当前日期和时间如果只关注日期部分应该使用CURDATE()函数来避免时间部分的干扰。同样可以用CURDATE()替换NOW()来进行日期的加减操作。