热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

温度上升—mysql变量使用

表: Weather+---------------+---------+|ColumnName|Type|+---------------+---------+|id|int||

表: Weather

+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| recordDate | date |
| temperature | int |
+---------------+---------+
id 是这个表的主键
该表包含特定日期的温度信息
 

编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id 。

返回结果 不要求顺序 。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/rising-temperature
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

Mysql解法:

1.变量解法

select

    Id

from

    (select w.*,

     @curd := w.RecordDate,       #当前日期

     @curt := w.Temperature,       #当前温度

     @isH := if(datediff(@curd,@pred) = 1 and @curt > @pret,1,0) as r,               #当当前日期比前一个日期大一天时,且当前温度大于昨日温度 为真

     @pret := @curt,  #赋值昨日 日期     

     @pred := @curd  #赋值昨日温度 

   #这五个变量赋值顺序很重要  !!  前两个步骤负责赋值今日数据,判断真假 在赋值给昨日   

#这样每一行数据进来先判断当日数据是否比昨日温度大 然后将当日数据赋值给昨日的变量   

     from

        Weather w,

        (select 

            @curd := null,

            @pred := null,

            @curt := 0,

            @pret := 0,

            @isH := 0

        ) init

   #初始化变量

     order by w.RecordDate     #order by先于select执行    先排序在查询  确保日期又近到远

    ) t

where

    t.r = 1

 



推荐阅读
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 使用Pandas高效读取SQL脚本中的数据
    本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ... [详细]
  • 本文介绍了如何在 Oracle 数据库中结合使用 UPDATE 和 SELECT 语句,以实现复杂的数据更新操作。首先准备测试环境和数据表,然后通过嵌套查询的方式从其他表中获取需要更新的值,最后执行更新操作并验证结果。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • MySQL DateTime 类型数据处理及.0 尾数去除方法
    本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ... [详细]
  • C# LiNQ 查询 join连接
    C# LiNQ 查询 join连接 ... [详细]
  • 解析SQL查询结果的排序问题及其解决方案
    本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ... [详细]
  • Java第四周作业:条件语句实践与分析
    本次作业主要围绕Java编程中的if语句展开,通过具体案例深入理解选择结构的使用方法。学生需要完成多个编程任务,并在博客中详细记录每道题目的题目、代码及运行结果。 ... [详细]
  • 本文介绍 PHP 函数 mysql_field_len 的使用方法,该函数用于返回 MySQL 查询结果集中指定字段的长度。适用于 PHP 4 和 PHP 5 版本。 ... [详细]
  • 本文介绍如何使用 Python 获取文件和图片的创建、修改及拍摄日期。通过多种方法,如 PIL 库的 _getexif() 函数和 os 模块的 getmtime() 和 stat() 方法,详细讲解了这些技术的应用场景和注意事项。 ... [详细]
  • Kotlin基础教程:集合详解
    本文深入探讨了Kotlin中的集合类型,包括可变和不可变集合,并详细介绍了List、Map和Set的使用方法及其增删改查操作。 ... [详细]
author-avatar
安小辰
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有