SQL如何獲取上一條 下一條 首尾記錄

時間 2021-05-07 20:00:10

1樓:富貴很三良

獲得上一條的id :select max(id)as id from [表] where id<"[你的要查的id]" order by [.....]

獲得下一條的id :select min(id)as id from [表] where id>"[你的要查的id]" order by [.....]

很笨的辦法但是很直觀·

不知道你是什麼資料庫··根據不同的資料庫有很多不同的寫法··比如 mysql 中的 limit 或者 mssql 中的 top寫法多了去啦··呵呵··上面舉個例子罷了··希望對你有幫助

2樓:

我來回答吧:

指定id 的 升序排列 ,前一條 當前條 和 下一條

如果是 sql server 或者 access

select * from

(select top 2 * from 你的表 where id = 指定值 order by id desc

union

select top 2 * from 你的表 where id = 指定值 order by id asc

) ttt order by id asc

如果是 mysql server

select * from

(select * from 你的表 where id = 指定值 order by id desc limit 2

union

select * from 你的表 where id = 指定值 order by id asc limit 2

) ttt order by id asc

3樓:匿名使用者

下一條:

select top 1 from tb

where id > 知道的id值

order by id asc

上一條:

select top 1 from tb

where id < 知道的id值

order by id desc

4樓:

id+1 下一條

id-1 上一條

select top 1 from tb order by id asc 首

select top 1 from tb order by id desc 尾

關於查詢sql中資料上一條記錄和下一條記錄的sql語句......

5樓:匿名使用者

可用row_number來解決。

如student表

id        name     create_date1         張三        2015-07-012         李四        2015-06-013         王五        2015-08-014         趙六        2015-04-01如,要查詢張三的create_date前和後各一條資料。

with t as

(select student.*,row_number() over(order by create_date) rn from student)

select * from student where rn=(select t.rn+1 from t where t.name='張三')

union all

select * from student where rn=(select t.rn-1 from t where t.name='張三')

結果應是:

id        name     create_date2         李四        2015-06-013         王五        2015-08-01

6樓:匿名使用者

news_id 自增型別,或者有一定規律的數值型別,外面程式獲取的id這個就看你怎麼存放了,一般是放在url的引數裡,比如 http://www.baidu.

7樓:匿名使用者

news_id必須是整形,一般來說,這裡應該是自增列,通過輸入當前的id,查詢比它大的第一條記錄,來達到查詢下一條的目的,實現方法比較簡單和巧妙。

如何取sql結果集的第一條記錄

8樓:匿名使用者

select top 1 欄位名 from 表名

9樓:匿名使用者

select top 1 * from table

10樓:匿名使用者

select top 1 * from [表名]

判斷sql最後一條記錄,判斷sql最後一條記錄

sqlserver資料庫中判斷 declare maxnum int initnum intselect maxnum count from tbookinfo set initnum 1 while initnum maxnumbegin set initnum initnum 1 if init...

如何通過一條SQL實現一條資料關聯多個表 如表A中的一條資料關聯表B 表C 表D等其他表

1.開啟sqlserver,在物件管理器裡找到要搞的庫右鍵 任務 生成指令碼 2.在彈出的嚮導中跟著嚮導一步一步做吧,最後可以搞出一個檔案 3.一個庫就一個檔案你就直接在mysql裡執行s 搞清楚表之間的關係 例如表a用b欄位跟b的b欄位關聯,用c欄位跟表c的c欄位關聯,用d欄位跟d的d欄位關聯 s...

求一條SQL語句

樓上兩位的都有問題。應該是 select a.tid,tkh,tname,sum t2a sum t2b from table1 a,table2 bwhere a.tid b.tid and tkh 50 group by a.tid,tkh,tname select table1.tid,tkh...