首页 > 数据库 >SQL进阶技巧:断点缝合问题【如何按照业务规则对相邻行数据进行合并】

SQL进阶技巧:断点缝合问题【如何按照业务规则对相邻行数据进行合并】

时间:2024-08-12 15:26:07浏览次数:9  
标签:数据分析 进阶 union 规则 相邻 SQL 断点 select 描述

目录

0 需求描述

1 数据准备

2 数据分析

3 小结 


0 需求描述

如下图所示,按照定义的规则进行数据变换

注意:b中的数值只有0和1

1 数据准备

with data as(
select 2010	a,0 b union all
select 2011	a,1 b union all
select 2012	a,0 b union all
select 2013	a,1 b union all
select 2014	a,0 b union all
select 2015	a,0 b union all
select 2016	a,1 b union all
select 2017	a,0 b union all
select 2018	a,0 b union all
select 2019	a,0 b union all
select 2020	a,1 b union all
select 2021	a,1 b union all
select 2022	a,0 b union all
select 2023	a,1 b union all
select 2024	a,0 b
)

2 数据分析

问题分析:根据规则,只要b中相邻三个值中有1即可合并。

该规则描述了两个问题点:

(1)相邻问题。相邻三个值如何表

标签:数据分析,进阶,union,规则,相邻,SQL,断点,select,描述
From: https://blog.csdn.net/godlovedaniel/article/details/141063892

相关文章

  • [oeasy]python029_ until_直接跳转到_unt_breakpoint_断点函数
     029调试中的跳转与断点228播放·0赞同视频​until_直接跳转到_unt_breakpoint_断点函数......
  • MySQL
    1、初识MySQLJavaEE:企业级Java开发Web前端(页面:展示:数据)后台(连接点:连接数据库JDBC,连接前端(控制视图跳转,给前端传递数据))数据库(存数据,Txt,Excel,Word)只会写代码,学好数据库,基本混饭吃:操作系统,数据结构与算法!当一个不错的程序猿!离散数学,数字电路,体系结构,编译原理。+实战经验......
  • JDBC加载MySQL驱动【底层实现】
    JDBC4.0如何加载引入依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.32</version></dependency>上代码importjava.sql.Connection;impor......
  • 基于SpringBoot+MySQL+SSM+Vue.js的物业管理系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的物业管理系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+Sprin......
  • 基于SpringBoot+MySQL+SSM+Vue.js的大学生兼职系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的大学生兼职系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+Spr......
  • 基于SpringBoot+MySQL+SSM+Vue.js的线上教育培训办公系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的线上教育培训办公系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybat......
  • mysql 计算两个日期的时间差(年龄)
    TIMESTAMPDIFF(时间粒度,开始时间,结束时间)1、时间粒度:秒:SECOND分:MINUTE时:HOUR天:DAY周:WEEK季度:QUARTER月:MONTH年:YEAR2、计算相差的时间粒度数,实例:秒数:SELECTTIMESTAMPDIFF(SECOND,'2000-06-1500:00:00',DATE_FORMAT(NOW(),'%Y-%m-%d%H:%i:%S'))小时数SELE......
  • mybatis插件实现sql修改
    packagecom.xf.config;importjava.sql.Connection;importjava.util.Properties;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibatis.mapping.BoundSql;importorg.apache.ibatis.plugin.Interceptor;importorg.apache.ibati......
  • SQL Server数据库字段类型-日期和时间类型
    SQLServer数据库字段类型-日期和时间类型官方地址:日期和时间类型类型格式示例值日期范围timehh:mm:ss[.nnnnnnn]12:35:29.1234567dateyyyy-MM-dd2022-05-080001-01-01到9999-12-31(对于Informatica,则为1582-10-15到9999-12-31)datetimeyyyy-MM-ddTHH:mm:ss[.mmm]......
  • 通过Shell脚本创建指定ip上的MySQL非系统库的所有表的表结构
    dbaloginSource='/data/dba/mysql8/bin/mysql-uroot_dba-ppassword-hxxx'dbaloginTarget='mysql-h127.0.0.1-P3340-uroot-proot'#showdatabases过滤出数据库名dbs=`$dbaloginSource-e"showdatabases\G"2>/dev/null|grep......