SQL-求解连续数问题

news2024/11/25 20:24:41

问题

在这里插入图片描述
在这里插入图片描述

解法

自连接求解

求解连续值的问题可以用常规的自连接方法比较当前行与下一行的值,自连接条件一般是id列,如果id列没有可以使用排序函数row_number、dense_rank等进行人为构造。这种方法比较常见直接给出代码:

select distinct t1.num as ConsecutiveNums
from logs t1
left join logs t2 on t2.id = t1.id + 1
left join logs t3 on t3.id = t1.id + 2
where t1.num = t2.num and t2.num = t3.num

巧妙求解

这里主要想展示这个巧妙的解法,这个解法也是在论坛里看到的感觉很巧妙也很好理解,因此在这里记录一下,代码如下:

select  distinct num as ConsecutiveNums
from logs 
where (id +1,num) in (select * from logs)
and (id + 2, num) in (select * from logs)

N条数据连续问题

以上两种解法都能解决问题,但还存在着一个问题,如果是要求连续100个的数字呢,我们总不能写100个自连接或者where条件吧,因此这里同样有一个巧妙的解法排除法,我们首先比较第1条和第100条的数据记录是否相同,然后再从中间数据判断是否有断点即可。举例:
想在下面这张表里求解连续的座位:
在这里插入图片描述

SELECT S1.seat AS start_seat, '~' , S2.seat AS end_seat
FROM Seats S1, Seats S2
WHERE S2.seat = S1.seat + (:head_cnt -1) --决定起点和终点
AND NOT EXISTS (SELECT *
FROM Seats S3
WHERE S3.seat BETWEEN S1.seat AND S2.seat
AND S3.status <> '未预订' );

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1288585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# Demo--汉字转拼音

1.Nuget安装NPOI及Pinyin4net 2.Demo 代码部分 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using NPOI.SS.UserModel; using NPOI.HSSF.UserModel; using NPOI.XSSF.UserModel; using System.IO;…

【JavaScript手撕代码】日期格式化 yyyy-mm-dd hh:mm:ss

一行代码&#xff1a; function formatTime() {return new Date().toLocaleString().replace(/\//g, -) }

中小企业:理解CRM与ERP系统的区别与联系,提升业务效能

许多中小型企业正面临着客户递增&#xff0c;市场营销&#xff0c;货存流通等递增数据整合的困扰。这个时候需要根据自身企业的实际情况去选择适合自己的系统。那么&#xff0c;中小企业使用CRM系统和erp系统的区别是什么&#xff1f; 一、含义和目标区别 CRM系统旨在帮助企业…

【若依系列】1.项目修改成自己包名并启动服务

项目下载地址&#xff1a; 分离版本 https://gitee.com/y_project/RuoYi-Vue 修改工具下载 https://gitee.com/lpf_project/common-tools 相关截图&#xff1a; 1.项目结构&#xff1a; 2.修改包名工具&#xff1a; 工具截图&#xff0c;根据对应提示自定义修改即可&#x…

岳阳楼3D模型纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 岳阳楼&#xff0c;位于湖南省岳阳市岳阳楼区洞庭北路&#xff0c;地…

云轴科技ZStack助力彬长矿业建设智能矿山

陕西彬长矿业集团有限公司&#xff08;简称彬长矿业&#xff09;选择云轴科技ZStack智能矿山云解决方案建设云基础设施&#xff1a;ZStackCube超融合一体机部署在西咸云基地机房构建私有云资源池&#xff0c;ZStackCMP多云管理平台对西咸云基地机房以及各矿井生产服务中心资源进…

写class的奇淫巧技-数组遍历

class想提供类似数组的能力 可以自定义 Symbol.iterator class A {*[ Symbol.iterator ]() {yield this.x;yield this.y;yield this.z;} }如&#xff1a;

程序员如何开发高级python爬虫?

之前我有写过一篇“高级爬虫和低级爬虫的区别”的文章&#xff0c;我们知道它并非爬虫领域中专用术语。只是根据爬虫的复杂性来断定是否是高级爬虫。以我个人理解&#xff1a;高级爬虫是可能具有更复杂的功能和更高的灵活性的爬虫。下面我们围绕高级爬虫来了解下有趣的事情。 低…

网络广播音柱在多场景中的应用

网络广播音柱在多场景中的应用 首先&#xff0c;网络音响在家庭娱乐方面有着突出的表现。在家里&#xff0c;我们可以通过它享受高质量的音乐、电影和游戏。无论是听悠扬的音乐旋律&#xff0c;还是看电影时震撼的音效&#xff0c;它都能提供逼真的沉浸式音效。此外&#xff0…

写实3D游戏模型纹理贴图设置

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

Redis(三):常见数据类型:List、Set、Zset

List 列表 列表类型是用来存储多个有序的字符串&#xff0c; 如图&#xff1a; a、b、c、d、e 五个元素从左到右组成 了⼀个有序的列表&#xff0c;列表中的每个字符串称为元素&#xff08;element&#xff09;&#xff0c;⼀个列表最多可以存储个元素。在 Redis 中&#xff…

剪刀石头布游戏

csdn问答社区的一道题目&#xff0c;题目描述都像一篇论文了&#xff0c;界面设置不敢恭维&#xff0c;不过也算是可练手工程。 (笔记模板由python脚本于2023年12月05日 22:15:03创建&#xff0c;本篇笔记适合熟悉Python字典、列表、字符串的coder翻阅) 【学习的细节是欢悦的历…

军大衣方歇 东北大花袄正当时

聊起最近军大衣和各式棉服的销量&#xff0c;丽亮服饰的陈先生正忙于打包&#xff0c;他说现在订购的军大衣最早也得20天后才能到货&#xff0c;除了零散的几件&#xff0c;市面基本都处于断货状态。 做了十多年服装生意&#xff0c;陈先生也没想到军大衣会从自己的父辈&#x…

【Vue】element组件不显示问题

使用element组件但不显示 不显示的原因&#xff1a;&#xff08;未引入element-ui&#xff09; 首先在控制台输入 npm i element-ui 进行安装 安装完之后&#xff0c;再去main.js配置element-ui组件库 import ElementUI from element-ui import element-ui/lib/theme-chal…

MYSQL数据库中运行SQL文件报错

报错显示 当使用mysql数据库运行SQL文件报错时 [Err] 1273 - Unknown collation: utf8mb4_0900_ai_ci 报错原因 版本高低问题&#xff0c;一个是5.7版本&#xff0c;一个是8.0版本生成转储文件的数据库版本为8.0,要导入sql文件的数据库版本为5.7,因为是高版本导入到低版本&a…

.NET Core 依赖注入 Microsoft.Extensions.DependencyInjection(未完待续)

文章目录 前言什么是依赖注入C# 使用依赖注入框架介绍 Microsoft.Extensions.DependencyInjectionNuget安装简单单例使用打印结果 暂时结束 前言 依赖注入是一个非常重要的编程思想&#xff0c;就和面向过程和面向对象一样&#xff0c;IOC和控制反转是一种解耦的编程思想。 什…

小满CRM与畅捷通T+系统数据集成方案分享

小满CRM与畅捷通T系统数据集成方案分享 在当前数字化浪潮的推动下&#xff0c;越来越多的企业选择使用各种信息化系统来提高工作效率和管理水平。其中&#xff0c;小满CRM和畅捷通T系统成为了广受企业欢迎的两个主流系统。然而&#xff0c;企业在使用这两个系统的过程中&#…

【数据分享】1990-2022年我国省市县三级的各类土地覆盖面积

土地覆盖数据是我们在各项研究中经常使用的数据。土地覆盖数据可以帮助我们确定哪儿是建设用地&#xff0c;哪儿是水域&#xff0c;哪儿是农田等&#xff01;我们之前分享了武汉大学杨杰和黄昕教授发布的1990-2022年中国30米年度土地覆盖栅格数据&#xff08;可查看之前的文章获…

在微信小程序中如何改变默认打开的页面

在微信小程序中&#xff0c;在我们编写页面的时候&#xff0c;可能会在重新渲染的时候导致页面跳转到默认打开的页面上&#xff0c;为了提升用户的一个体验&#xff0c;我们可以设置一些内容来修改小程序默认打开的页面&#xff0c;提升开发者的开发体验。 当我们打开一个微信…

CentOS中安装数据库

1.下载 网址&#xff1a;https://dev.mysql.com/downloads/mysql/ 按如图选择&#xff0c;然后点击Download 这里它让我们登录&#xff0c;我们直接选择不登录&#xff0c;直接下载 2.关闭防火墙 systemctl disable firewalld3.正式安装 切换到/usr/local下 cd /usr/l…