首页 > 数据库 >力扣高频SQL 50题(基础版)第九题

力扣高频SQL 50题(基础版)第九题

时间:2024-07-24 18:27:00浏览次数:17  
标签:01 temperature 50 力扣 Weather SQL 2015 recordDate id

文章目录

力扣高频SQL 50题(基础版)第九题

197. 上升的温度

题目说明

Weather

±--------------±--------+

| Column Name | Type |

±--------------±--------+

| id | int |

| recordDate | date |

| temperature | int |

±--------------±--------+

id 是该表具有唯一值的列。

没有具有相同 recordDate 的不同行。

该表包含特定日期的温度信息

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

返回结果 无顺序要求

思路分析

在这里插入图片描述

找出与昨天相比温度更高的日期id的思路是使用自连接的方法。

实现过程

准备数据
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')
实现方式
select w2.id ID from Weather w1,Weather w2 where datediff(w2.recordDate,w1.recordDate)=1 and w1.temperature<w2.temperature;
结果截图

在这里插入图片描述

总结
时间日期函数datediff(end_date,start_date)函数:时间差
自连接查询语法:select * from 表A  t1, 表A t2 where  t1.xxid = t2.xxid;

标签:01,temperature,50,力扣,Weather,SQL,2015,recordDate,id
From: https://blog.csdn.net/m0_70882914/article/details/140670214

相关文章

  • 力扣高频SQL 50题(基础版)第八题
    文章目录力扣高频SQL50题(基础版)第八题1581.进店却未进行过交易的顾客题目说明思路分析实现过程准备数据:实现方式:结果截图:总结:力扣高频SQL50题(基础版)第八题1581.进店却未进行过交易的顾客题目说明表:Visits±------------±--------+|ColumnName|Type|......
  • 数据结构与算法,剑指Offer 50题
    队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。对列的添加insertappend队列的取值列表[-1]列表[0]队列的删......
  • SQL---------存储函数
    ●存储函数(必须要有返回值)存储函数是有返回值的存储过程,存储函数的参数只能是in类型的。具体语法如下:createfunction存储函数名称([参数列表])returnstype[characteristic...]......
  • MySQL 如何拥有针对特定主机的单一用户账户
    MySQL如何拥有针对特定主机的单一用户账户?通常,我们会创建用户名相同但主机/IP不同的独立用户账户,如<USER>@<HOST1>,<USER>@<HOST2>....。<USER>@<HOSTn>。然后,给予这些用户相同的授权(权限/角色)和设置(密码、SSL等)。 除了以上的做法,可以创建一个可以从所有主机连接的......
  • MySQL(1)
    文章目录概述数据库OLTPOLAPSQLDQLDMLDDLDCLTCLMYSQL连接池管理服务和工具组件SQL接口查询解析器查询优化器缓冲组件CRUD创建数据库删除数据库选择数据库创建表删除表清空数据表增删改查小结概述数据库**按照数据结构来组织、存储和管理数据的仓库;**是一个长期存......
  • [第一章 web入门]SQL注入-1
    [第一章web入门]SQL注入-1payload/index.php?id=1'and0unionselect1,2,group_concat(fllllag)fromfl4g--+?id=-1'unionselect1,2,group_concat(fllllag)fromflag--+Step库名?id=-1'unionselect1,2,group_concat(SCHEMA_NAME)frominformati......
  • MySQL 学习笔记 基础(多表查询下,事务)
    多表查询 多表查询-子查询概念:SQL语句中嵌套SELECT语句,称为嵌套语句,又称子查询。SELECT*FROMt1WHEREcolumn=(SELECTcolumn1FROMt2);子查询外部的语句可以是INSERT/UPDATE/DELETE/SELECT的任何一个。根据子查询结果不同,分为:·标量子查询......
  • MySQL中多表查询之外连接
     首先先来介绍一下我做的两个表,然后再用他们两个举例说明。--创建教师表createtableteachers(id_tintprimarykeyauto_increment,--老师编号name_tvarchar(5)--姓名);--创建学生表createtablestudents(id_sintprimarykeyauto_increment,--编号na......
  • 【YashanDB知识库】stmt未close,导致YAS-00103 no free block in sql main pool part 0
    问题现象问题单:YAS-00103nofreeblockinsqlmainpoolpart0,YAS-00105outofmemorytoallocatehashtableofsize=256现象:业务处理sql时,报错YAS-00103nofreeblockinsqlmainpoolpart0问题风险及影响业务处理报错,影响功能使用问题影响版本客户版本:22.2.4......
  • MYSQL中SHOW PROCESSLIST使用
    SHOWPROCESSLIST是显示用户正在运行的线程,需要注意的是,除了root用户能看到所有正在运行的线程外,其他用户都只能看到自己正在运行的线程,看不到其它用户正在运行的线程。除非单独个这个用户赋予了PROCESS权限。通常我们通过top检查发现mysqlCPU或者iowait过高那么解决这些问题......