我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL开发实例和优化是怎样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL开发实例和优化是怎样的

这篇文章将为大家详细讲解有关SQL开发实例和优化是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

找出连续的数据 如1,2,3,48,50,51,52,53,67,68
找出连续的数字的起点和重点
1,3
48,48
51,53
67,68
create table test.range_problem(
 
    a int not null,
    primary key (a));
insert into test.range_problem values(1);
 
insert into test.range_problem values(2);

insert into test.range_problem values(3);

insert into test.range_problem values(48);

insert into test.range_problem values(50);

insert into test.range_problem values(51);

insert into test.range_problem values(52);

insert into test.range_problem values(53);

insert into test.range_problem values(66);

 insert into test.range_problem values(67);
 
 
  
  
   --思路1 找最后一个不连续的数
   SELECT T1.A
   FROM test.range_problem T1
   WHERE NOT EXISTS
   (
     SELECT A
     FROM test.range_problem T2
     WHERE T2.A -1 = T1.A
   )
  
  
   --思路2  找所有行对应的结束值
   SELECT ROW_NUMBER()OVER(ORDER BY TBASE.A) ID
         ,TBASE.A
         ,(SELECT Min(A)
           FROM test.range_problem T1
           WHERE NOT EXISTS
           (
             SELECT A
             FROM test.range_problem T2
             WHERE T2.A -1 = T1.A
           )
           AND T1.A >= TBASE.A  --T1.A 是3,48,53,67 TBASE.A 是每行的值
          ) A_END
                         
   FROM test.range_problem TBASE
  
   --思路3 分组后找出所有连续的起始值和结束值
   SELECT MIN(A) A_START, A_END
     FROM(
     SELECT ROW_NUMBER()OVER(ORDER BY TBASE.A) ID
           ,TBASE.A
           ,(SELECT Min(A)
             FROM test.range_problem T1
             WHERE NOT EXISTS
             (
               SELECT A
               FROM test.range_problem T2
               WHERE T2.A -1 = T1.A
             )
             AND T1.A >= TBASE.A  --T1.A 是3,48,53,67 TBASE.A 是每行的值
            ) A_END
                           
     FROM test.range_problem TBASE
   ) T
   GROUP BY T.A_END
  
   --对上面语句的优化
   WITH POT AS(
           SELECT A
           FROM test.range_problem T
           WHERE NOT EXISTS
           ( SELECT A
             FROM test.range_problem TC
             WHERE TC.A -1 = T.A)
         )
       
        
         SELECT TBASE.A A_START,(SELECT MIN(A)
                               FROM  POT T
                               WHERE TBASE.A <= T.A 
                               ) A_END
         FROM test.range_problem TBASE


          

关于SQL开发实例和优化是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL开发实例和优化是怎样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

优化sql的利器SQLT是怎么样的

优化sql的利器SQLT是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。优化sql的利器SQLTSqlt适用环境:1、sql优化功底不是很深的同学2、sql太复杂(20
2023-06-06

java继承关系的类初始化和实例化顺序是怎样的

这期内容当中小编将会给大家带来有关java继承关系的类初始化和实例化顺序是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。就像之前的一个评论.我们学习的是思路. 很多人都知道继承关系的类的初始化和实例
2023-06-17

SQL基础查询和LINQ集成化查询是怎样的

SQL基础查询和LINQ集成化查询是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SELECTSELECT 语句用于从表中选取数据,是 SQL 最基本的操
2023-06-26

实例讲解Android app开发中ListView的基本使用及优化

一、直接使用ListView组件创建 1.直接在XML中创建ListView用entries属性附上一个数组资源 其中divider属性是设置分割线可以使用颜色和drawable资源分割
2022-06-06

Python自动化运维开发中的流程控制是怎样的

这期内容当中小编将会给大家带来有关Python自动化运维开发中的流程控制是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python自动化运维开发实战流程控制。Python条件语句是通过一条或多条语
2023-06-04

15条优化电脑系统开机速度的技巧是怎样的

这篇文章将为大家详细讲解有关15条优化电脑系统开机速度的技巧是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、BIOS的优化设置     在BIOS设置的首页我们进入“Advance
2023-06-14

编程热搜

目录