当前位置:首页 » 编程语言 » sql判断两行数据编号连续
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql判断两行数据编号连续

发布时间: 2022-04-29 03:30:12

Ⅰ 怎么使sql表中不连续的编号重新变连续

要看你的目的是什么,为什么要这样做。
1、如果纯粹是为了显示好看,可以在显示时单独1列输出程序给的序号(永远都是连续的),数据库里的编号根本不用显示它。
2、如果还需要使用这个编号作为参数,可以隐藏传递。
3、如果必须要显示它,它还在别的表中有引用,那么肯定不能随便修改它。
4、如果没表引用它,就是要它连续,也分为2种:a、新行使用编号2;b、345修改为234,新行使用5。如果是b,那么这个字段没用,可以删除了。

Ⅱ sql server 怎么查到编号连续的数据

用条件啊 翻倍的 就power(2,n) n是2的n次方...

Ⅲ 求一个SQL语句,判断批量数据是否连续

这个用group
select 户号 from tableA group by 户号 having count(户号) != 人数

Ⅳ 求教,sql如何判断数字的连续,并且获取断点的数字。

加入表是test,列名nums,可以先做如下处理:
select T1.nums as nums,
case (select COUNT(1) from TEST T2 WHERE T2.nums like '%'+convert(varchar(10),convert(int,SUBSTRING(T1.nums,len(T1.nums)-4,5))-1)) when 1 then (select T2.nums from TEST T2 WHERE T2.nums like '%'+convert(varchar(10),convert(int,SUBSTRING(T1.nums,len(T1.nums)-4,5))-1)) ELSE NULL END AS has_parent,
ROW_NUMBER() OVER(order by nums asc) as row_num

from TEST T1
得到一个关系数据,对数据做分组分析就Ok拉。

Ⅳ sql 数据库如何在一个指定范围内连续编号

自己编号了,先设置一个预设值在范围内,然后+1,再判断下,是否在范围内

Ⅵ 怎么查询SQL中连续编号中间的断号

思路给你:

1、找到你的表中的连续编号的最小值。

2、找到你的表中的连续编号的最大值。

3、产生一个临时表,它的一个字段最小值到最大值连续产生记录。

4、找到临时表中的“那个字段中”的“记录”不在“你的表中”的“连续编号”中存在的所有记录。


参考代码如下:

--初参条件针对对象表LS_bas1数据库里的TA1表
--查TA1表中ID号不连续缺少的记录

--定义三个变量最小记录、最大记录、记录搜索用
DECLARE@MINIDINT,@MAXIDINT,@GOINTINT

--从TA1表中取得ID最小的、ID最大的记录
SELECT@MINID=MIN(ID),@MAXID=MAX(ID)FROMLS_bas1.DBO.TA1

--从最小记录开始循环向临时表#LSTAB里追加记录,以产生连续的GOID记录
SET@GOINT=@MINID
SELECT@GOINTASGOIDINTO#LSTAB
WHILE@GOINT<@MAXIDBEGIN
SET@GOINT=@GOINT+1
INSERTINTO#LSTAB(GOID)VALUES(@GOINT)
END

--将#LSTAB中GOID有,与TA1表ID中没有的记录找出来,就是你要的
SELECT*FROM#LSTAB
WHEREGOIDNOTIN(
SELECTIDFROMLS_bas1.DBO.TA1
)
ORDERBYGOID

--最后,好习惯,清理中间的临时表
DROPTABLE#LSTAB

Ⅶ SQL中如何从一串数字中判断是否连续比如1,2,4,5,7,8,9,10 。 我要提取连续数达到3个以上,怎么写

从数据库取出来字符串后
用split截成数组,然后循环数组判断
string s="1,2,4,5,7,8,9,10";
int c=0;
int a=0;
int[] ss=s.split(",");
for(int i=0;i{
int b=int.Parse(ss[i]);

if(i==0)

{
a=b;

}
else

{
if(c==4)

{
break;

//连续达到4个,跳出循环

}
a++;

if(a==b)

{
c++;
//符合继续

}

else

{
break;//不符合

}

}

}

不知道你想要什么过程

Ⅷ SQl数据库自动编号(连续)

假如你的原来的表tb有
id,name,address三列
其中id是自动增长列,
删除其中若干行以后,
你可以这样啊
创建存储过程
create proc getTempTable
as
begin
declare @temp table
(
id int identity(1,1),
name varchar(20),
address varchar(20)
)
insert @temp
select name, address from tb

select * from @temp
end
这样你就可以得到一个ID连续的新表了

Ⅸ SQL数据库中查询连续编号的的数据。


DECLARE@T1table(UserIDint,[name]nvarchar(50),numint);
insertinto@T1(UserID,[name],num)values(1001,'a',8)
insertinto@T1(UserID,[name],num)values(1002,'b',6)
insertinto@T1(UserID,[name],num)values(1003,'c',8)
insertinto@T1(UserID,[name],num)values(1004,'a',8)
insertinto@T1(UserID,[name],num)values(1005,'b',8)

select*from@t1
selecta.*from
(selectUserID,[name],[num]from@t1)ajoin
(selectUserID,[name],[num]from@t1)bona.UserID<b.UserIDanda.UserID+1=b.UserID
anda.num=b.num
groupbya.userid,a.[name],a.[num]


得到结果:1003c8
1004a8

Ⅹ sql 判断两行数据是否重复

需要所有列的值都拿来纵向判断。一个简单的方法是:
select count( distinct t.列1 [,t.列2,t.列3……] ) as cnt from t [where条件(指定哪几行数据进行判断) ]
如果结果值为1,则表示这几行数据重复了。

其实就是distinct用来去掉重复的记录,当所有列都distinct过滤之后,最终结果就只有一行数据了。