原文地址:http://www.maomao365.com/?p=7335

摘要:
   数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql脚本的方式获取数据表中的数据是否连续的方法分享,如下所示:
   实验环境:sqlserver 2008 R2  

例:获取表test中keyId是否为连续的数据
实现思路:
 1.采用row_number 对表test重新生成流水号
 2.采用with as (cte)表达式将重新生成流水号的表放入临时表
 3.对临时表自身进行 左连接(前一行和后一行互补),然后比较行中两张表的keyId 是否相差1,
   如果相差1,则代表连续数据行,反之为非连续行数据

create table test 

(keyId int,info varchar(60))

go

insert into test(keyId,info)values

(1,'maomao365.com'),(2,N'连续数判断'),

(4,N'blog教程'),(5,'maomao'),

(8,'test'),(9,'info')

;

with  tmp as 

 (select  ROW_NUMBER() over (order by keyId asc ) as keyIdNew,

* from test  ) 

select a.keyIdNew,

a.keyId,a.info ,

 case  when ISNULL(a.keyId,0)-1 = b.keyId 

              or b.keyId is null  then '连续'

       else '不连续'

 end as '连续标志'

 from tmp a 

left join tmp b on a.keyIdNew = b.keyIdNew+1

;

go

truncate table test 

drop     table test 

mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享的更多相关文章

  1. mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)

    转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的 ...

  2. mysql互换表中两列数据

    在开发过程中,有时由于业务等需要把一个表中的两列数据进行交换. 解决方案 使用update命令,这完全得益于MySQL SQL命令功能的强大支持. 表格中原来数据类似如下: select * from ...

  3. 对一个表中所有列数据模糊查询adoquery

    如何用adoquery对一个表中所有列进行模糊查询: procedure TForm3.Button4Click(Sender: TObject); var ASql,AKey: string; I: ...

  4. mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

    摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...

  5. mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享

    摘要: 下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示: 实验环境:sql server 2008 R2 实现思路: 1.使用cte表达式,对当前表进行重新编号 2.使用左连接对 表达式 ...

  6. mssql sqlserver 使用sql脚本获取群组后,按时间排序(asc)第一条数据的方法分享

    摘要: 下文讲述使用sql脚本,获取群组后记录的第一条数据业务场景说明: 学校教务处要求统计: 每次作业,最早提交的学生名单下文通过举例的方式,记录此次脚本编写方法,方便以后备查,如下所示: 实现思路 ...

  7. mssql sqlserver 使用sql脚本输出交替不同的背景色的html信息的方法分享

    转自:http://www.maomao365.com/?p=6679 摘要: 下文将分享使用sql脚本输出交替变换的不同背景颜色的sql脚本的方法分享,如下所示: 实验环境:sqlserver 20 ...

  8. mssql sqlserver 使用sql脚本获取字符串存在多少个网址(url地址)的方法分享

    摘要:下文讲述获取一个字符串中存在多少个网址的方法,如下实验环境:sql server 2008 R2  实现思路: 1.新建一个自定义函数,可将单个字符串拆分为含单个网址的数据表 2.采用outer ...

  9. mssql sqlserver避免sql脚本中出现除零错误的方法分享

    摘自:http://www.maomao365.com/?p=6612 摘要:下文介绍sql server中,sql脚本避免出现除零错误的方法分享 在各种业务系统开发中,通常会遇到除零的错误,下文分享 ...

随机推荐

  1. 数据读取(SQL)与文本写入(fileStream)

    要求:从三个不同服务器中取数,对最近10的历史数据进行去重,写出到文本. 1.读取. public static DataTable ExecuteSql(string connectString, ...

  2. 【原创】Windows服务管家婆之Service Control Manager

    Service Control Manager,服务控制管理器,人称SCM就是它!在Windows内核中,都可以看到她忙碌的身影,可以说是系统服务和驱动的管家婆了!     SCM管家婆起早贪黑,每次 ...

  3. Java 锁优化

    一.重量级锁   Java中,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的.但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的.而操作系统实现 ...

  4. golang包管理解决之道——go modules初探

    golang的包管理是一直是为人诟病之处,从golang1.5引入的vendor机制,到准官方工具dep,目前为止还没一个简便的解决方案. 不过现在go modules随着golang1.11的发布而 ...

  5. jquery发起get/post请求_或_获取html页面数据

    备注:我们经常会遇到使用jquery获取某个地址下的部分页面内容,然后替换当前页面对应内容,也就是:局部刷新功能. 当然也可以使用get/post请求获取数据,修改数据,可以参考以下JS代码: 走过的 ...

  6. [转]win10中安装JDK8以及环境配置

    本文转自:https://blog.csdn.net/yangsummer2426/article/details/80499775 1.      首先下载jdk,网址如下: http://www. ...

  7. Maven私服 Nexus使用一例

    一.背景 本次搭建Nexus的私服是为了解决两件事 1.公司网络限制,部分项目组同事无法直接访问互联网,不能直接下载一些依赖的jar文件; 2.一些独立的jar无法通过Maven添加依赖的方式引入到项 ...

  8. c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错

    如果一个对象的值为null,那么它调用扩展方法时会报错吗? Person p = null ; p.ExtendMethod(); 上述代码出现的情况不会报错,刚开始遇到这种情况时很纳闷,就去问了大牛 ...

  9. Linux学习笔记之如何挂载数据盘

    一.引入 双11在阿里云买了一台服务器(Linux操作系统,版本:CentOS7.04),配置就是20G的系统盘和40G的数据盘,可是问题来了,当系统初始化登录进去之后,输入:free -h命令并不能 ...

  10. MyBatis:自定义Mapper

    在开发中有时可能需要我们自己自定义一些mapper还有些一些自定义的xml,SQL语句.其实在我们的框架中很方便.只需要在mapper中添加自定义接口,在resources中自定义一个mapper的x ...