如何用sql語句查詢斷號?

2025-03-18 09:40:26 字數 4479 閱讀 8379

1樓:吳豔山

經過努力,解決了這個問題(此前,絕大多數的方法都是生成乙個從最小直到最大值的連續序列過渡表,然後兩表關聯或利用子查詢,查處源表中不存在的值),該唯畢搭方法比較簡單也比較巧妙,思路如此:

斷號的含義也就是不在源表中的號,但斷號肯定是指拿源表中的某個號碼加上乙個數得到的,也就是說,我第一步需要找到源表中的每乙個值加1後(取名為f1)不存在源表序列中的值,然後以此為基礎,在源表中找數棚大於f1的最小值(取名f2),那麼從f1到f2的值即為斷號值,到此解決!!

語句如下(絕對原創):

select f1, (select min(f)-1 from t where f>f1) as f2

from select f+1 as f1

from t

where f+1 not in (select f from t) and f <(select max(f) from t)

as cc;

結果如下:f1 f2

徐州 吳豔山。

2樓:青青未了

bs樓上一汪虛下橡備。

這都什麼時代了,還這麼保守。

如果你不願梁陵毀意讓別人用,你可以不帖出來。謝謝。

3樓:網友

吳豔山!強啊,我真是佩服的五體投地,請容許我叫你一聲大哥哥,加你為好友!

怎樣編寫sql語句找到斷號的地方?

4樓:靈貓的羽毛

樓上2位的方法真不敢恭維,有了不斷號的表還檢查什麼,還有3天過期了,摟住不知道解決沒有,要是還需要解決的話請在補充中註明~寫語句出來要點時間,不過如果用建立臨時表或者儲存過程的話倒是有現成的。

declare @temptable table(a int)

declare @char varchar(1000),@i int,@num int

set @num=(select max(cid) from table) -cid 為id欄位。

set @i=1

while @i<=@num

begininsert @temptable values (@i)

set @i=@i+1

end select a from @temptable where a not in (select cid from table)

5樓:網友

我想到的辦法就是 再建乙個表(表a) 裡面序號是全的。

這樣只要查下在表a中存在,在後乙個表中不存在的序號 就行。

這樣斷號就找到了。

如何用sql語句,實現分頁查詢?

6樓:王王

適用於 sql server 2000/2005select top 頁大小 *

from table1

where id not in

select top 頁大小*(頁數-1) id from table1 order by id

如何用sql語句實現查詢名字

7樓:網友

可以用sql的模糊查詢。語句如下。

select * from 表名 where 欄位 like '%關鍵字%'

其中 % 為萬用字元。

條件的意思就是查詢欄位裡面帶「關鍵字」的資料。

8樓:網友

假設表叫【tab_1】

該表的「姓名」欄位是【name】

假設你要查的這個人的姓是【張】

select * from tab_1 where name like '張%';

name```

--張三```

張小薇```

張伯倫```

張可```假設知道這個人的名(例如:什麼小田),不知道姓,就這樣查:

select * from tab_1 where name like '%小田';

sql語句,怎麼用查詢的結果,進行再查詢?

9樓:網友

任何乙個查詢結果都可以當成一張表 再次查詢比如我的sql語句是。

select * from person where age>10 --大於10歲。

我們可以對這個結果再次查詢如下。

select b.* from (select * from person where age>10) b where '男' --大於10歲的男性。

10樓:網友

可以有多種方式處理:

我這裡舉個例子:

比如你的另外一張表, 叫做 users, 有個 userid 是要檢索的關聯條件。

1.使用子查詢 in 的方式。

select *

from users

where userid in (select friendid from friends where hostid=10000)

2.修改原有sql為表關聯的方式。

select

users.*

fromusers , friends

whereand

3.更加複雜點的,就用 遊標處理,不過那個是儲存過程裡面乾的事情了。

11樓:網友

直接把結果集寫在 from 後面就可以了。

例圖中**。

結果集1在結果集1中再查詢。

12樓:德魯伊

用子查詢,select *

from 『』你要查詢的另乙個表『

where friendld in(

select friendid

from friends

where hostid=10000

或者兩個表連線也能解決問題。

select 』你要查詢的標準的列名稱『

from friends,』另乙個表的名稱『where , '另乙個表的名稱'.hostld還有我提醒下你,你如果真的想學資料庫,還是買一u本好書吧,轉名將sql的書。要不然這樣問下去,你會問的無休止的。

到頭來浪費時間還學不好。

如果你只是玩玩,我建議你還是不要學資料庫了,資料庫很複雜。你臨時要做東西的話找個人替你做。

13樓:網友

declare @friendid int

select @friendid = friendid from friends where hostid=10000

然後@friendid就是乙個可用的變數了。

用sql語句查詢

14樓:戲雨南

1,select cust_name, cust_city, cust_phone from 客戶表 where custmoer_id=「511603323」

2,select cust_name,account_no,oper_type,oper_date,amount from 表!!

你沒有說有哪些表,select的格式就是 select 表的屬性 from 表 where 條件。

多表查詢的話你要注意表與表的連線條件。

15樓:網友

select as 姓名, as 賬號, as 操作型別, as操作日期,b. amount as 金額 from custmoer_id a,操作表 b where

怎麼查詢一段時間內的資料,sql語句怎麼查詢

16樓:網友

比如查詢2014年1月1日-2014年6月30日之間的資料。

select * from 表 where 日期欄位 between '20140101' and '20140630'

怎樣用sql語句查詢出來已%號開頭的呢

17樓:

使用like匹配,並指定轉義符號,用轉義符號後跟%來表示匹配%,類似:

like '\%%' escape '\'

這樣,跟在指定的轉義符號之後的字元被當作一般的字元看待。

用sql查詢語句怎麼讓表中id按照順序來

18樓:獨孤的輝煌

這個首先你要寫出你要查詢的內容,如 select name,age from student order by id asc;

asc 代表公升序這也是預設的desc代表降序;

19樓:晨晨風響

--你說的是sql server吧 假如表的名稱就是a 裡面有乙個欄位是id

select * from a order by id asc

asc 是正序排 也可以修改成 desc 是倒序排。

20樓:

語句最後面加。

order by id asc(公升序)/desc(降序)

sqlserver中如何用SQL語句寫檔案

在我的機器上測試成功,我的是sql 2005,有資料。sql預設安裝下,你要先執行下面的語句。請在測試前刪除test.exe。請用寫字板開啟test.txt。sp configure show advanced options 1 goreconfigure go enable the ole au...

sql語句如何使用join,SQL語句如何使用join

join分為left join,inner join,right join,預設是inner join left join 表示結果已左側為準,當右側沒有左側的記錄是,欄位值已null表示 right join 表示結果已右側為準,當左側沒有右側的記錄是,欄位值已null表示 inner join ...

如何用sql 語句擷取兩個固定字元之間的字串

select substring 字串,1,patindex 字串 丘 1 as 字元1 substring 字串,patindex 字串 丘 1,patindex 字串 棟 patindex 字串 丘 1 as 字元2 from 表名 一 用到的函式 substring charindex sel...