當前位置:首頁 » 編程語言 » 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過濾之後,最終結果就只有一行數據了。