当前位置: 首页 > news >正文

【SQL】温度比较

目录

题目

分析

代码 


题目

表: Weather

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| id            | int     |
| recordDate    | date    |
| temperature   | int     |
+---------------+---------+
id 是该表具有唯一值的列。
没有具有相同 recordDate 的不同行。
该表包含特定日期的温度信息

编写解决方案,找出与之前(昨天的)日期相比温度更高的所有日期的 id 。

返回结果无顺序要求 。

示例 1:

输入:
Weather 表:
+----+------------+-------------+
| id | recordDate | Temperature |
+----+------------+-------------+
| 1  | 2015-01-01 | 10          |
| 2  | 2015-01-02 | 25          |
| 3  | 2015-01-03 | 20          |
| 4  | 2015-01-04 | 30          |
+----+------------+-------------+
输出:
+----+
| id |
+----+
| 2  |
| 4  |
+----+
解释:
2015-01-02 的温度比前一天高(10 -> 25)
2015-01-04 的温度比前一天高(20 -> 30)

分析

找出与之前(昨天的)日期相比温度更高的所有日期的 id

比较,使用交叉连接corss join

简洁写法 from Weather w1 , Weather w2

目标id, select w1.id


日期比较,前一日,datediff(w1.recordDate,w2.recordDate) = 1

温度比较,w1.temperature > w2.temperature

同时满足,and

代码 

select w1.id from Weather w1 , Weather w2
where datediff(w1.recordDate,w2.recordDate) = 1 and w1.temperature > w2.temperature

思考代码

select 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;
http://www.lryc.cn/news/419733.html

相关文章:

  • Istio 项目会往用户的 Pod 里注入 Envoy 容器,用来代理 Pod 的进出流量,这是什么设计模式?
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • 测试开发岗面试总结
  • 编程-设计模式 7:桥接模式
  • C语言----结构体
  • 基于HKELM混合核极限学习机多输出回归预测 (多输入多输出) Matlab代码
  • 经纬恒润荣获小米汽车优秀质量奖!
  • Linux 软件编程学习第十一天
  • hive udtf 函数:输入一个字符串,将这个字符串按照特殊的逻辑处理之后,输出4个字段
  • 【实现100个unity特效之16】unity2022之前或者之后版本实现全屏shader graph的不同方式 —— 适用于人物受伤红屏或者一些其他状态效果
  • 比特币使用ord蚀刻符文---简单笔记
  • 大数据-74 Kafka 高级特性 稳定性 - 控制器、可靠性 副本复制、失效副本、副本滞后 多图一篇详解
  • c# 什么是扩展方法
  • 全屏组件封装(react18+antd)
  • wordpress全局自适应网址导航整站打包源码,含主题和数据库
  • PyTorch深度学习框架
  • Python和AI库NumPy(二):数组创建与操作
  • GD32 SPI驱动代码
  • Qgis 开发初级 《数据库和图层》
  • 三大机器学习框架对比:TensorFlow、PyTorch与Scikit-Learn
  • Apache OFBiz 曝出严重漏洞,允许预身份验证 RCE
  • SpringCloud 微服务nacos和eureka
  • Java学习篇(一)| 如何生成分布式全局唯一ID
  • c++ 弹窗办法
  • 小程序使用this.animate实现3维动画切换
  • 【区块链+社会公益】第一反应互助急救链 | FISCO BCOS应用案例
  • leetcode 136. 只出现一次的数字
  • 可扩展架构设计:策略与最佳实践
  • 一图胜千言|图解Pandas常用操作!
  • ue5正确导入资源 content(内容),content只能有一个