首页 > 数据库 > 数据库开发技术 > 图解SQL面试题:如何比较日期数据?
【题目】
下面是某公司每天的营业额,表名为“日销”。“日期”这一列的数据类型是日期类型(date)。
daffdate(日期1, 日期2):
得到的结果是日期1与日期2相差的天数。
如果日期1比日期2大,结果为正;如果日期1比日期2小,结果为负。
timestampdiff(时间类型, 日期1, 日期2)
这个函数和上面diffdate的正、负号规则刚好相反。
日期1大于日期2,结果为负,日期1小于日期2,结果为正。
elect *
from 日销 as a cross join 日销 as b
on datediff(a.日期, b.日期) = 1;
select a.ID, a.日期, a.销售额(万元)
from 日销 as a cross join 日销 as b
on datediff(a.日期, b.日期) = 1
where a.销售额(万元) > b.销售额(万元);
elect a.ID, a.日期, a.销售额(万元)
from 日销 as a cross join 日销 as b
on timestampdiff(day, a.日期, b.日期) = -1
where a.销售额(万元) > b.销售额(万元);
elect a.ID, a.date
from weather as a cross join weather as b
on datediff(a.date, b.date) = 1
where a.temp > b.temp;
elect a.ID, a.date
from weather as a cross join weather as b
on timestampdiff(day, a.date, b.date) = -1
where a.temp > b.temp;
我是猴子,中科院硕士/前IBM高级软件工程师/豆瓣8分《数据分析思维》作者,我在知乎知学堂上线了一个数据分析课程,结合IBM项目经验和国内互联网大厂一线业务案例,讲解常用模型+逻辑框架,还有常用数据分析工具带练+业务实操带练,数据分析技能和思维两条腿走路,让你成为真正的数据分析师,而不是数据处理工具人。
⬇️点击「阅读原文」
进入 数据分析训练营
原文作者:猴子数据分析;如有侵权,请联系管理员删除。