sql第到第
① 在sql SERVER中查詢資料庫中第幾條至第幾條之間的數據SQL語句怎麼寫
在sql
server中查詢資料庫中第幾條至第幾條之間的數據sql語句如何寫?
如:在sql
server中查詢資料庫中第10條至30條之間的數據sql語句如何寫?
------解決方案--------------------
select
top
20
*
from
表
where
id
in
(select
top
30
id
from
表
order
by
id)order
by
id
desc
------解決方案--------------------
如果有唯一列可以用ls的
select
identity(int,1,1)
id,*
into
temp
from
表
select
*
from
temp
where
id
between
10
and
30
------解決方案--------------------
select
top
20
*
from
表
where
標識欄位
not
in
(select
top
9
標識欄位
from
表
)
------解決方案--------------------
1
select
top
20
*
from
表
where
id
not
in
(select
top
10
id
from
表
order
by
id)
order
by
id
2--應該從11開始
select
*
from
表
where
id
between
11
and
30
② SQL返回第M條至第N條記錄
總結的查找從第N條到第M條記錄,希望對你有幫助:
查找第n到m條記錄:
(1)select top m * from tablename where id not in (select top n id from tablename)
此語句需要在表有主鍵類欄位,此句里的為id
(2) select top m * into 臨時表(或表變數) from tablename order by columnname -- 將top m筆插入
set rowcount n
select * from 表變數 order by columnname desc
(3)select top n * from
(select top m * from tablename order by columnname) order by columnname desc
(4)如果tablename里沒有其他identity列,那麼:
select identity(int) id0,* into #temp from tablename
取n到m條的語句為:
select * from #temp where id0 >=n and id0 <= m
如果你在執行select identity(int) id0,* into #temp from tablename這條語句的時候報錯,那是因為你 的 DB中間的select into/bulk屬性沒有打開要先執行:
exec sp_dboption 你的DB名字,'select into/bulk',true
(5).如果表裡有identity屬性,那麼簡單:
select * from tablename where identity col between n and m
③ 用SQL如何查詢第幾條到第幾條之間的數據想不出來呢,網上的答案都不行的
這好辦,比如查詢第10條到第20條數據,表是table1,列是lie1,lie2,那就是
select top 20 from table1 where lie1 not in(select top 10 lie1 from table1)
括弧里是查出前10條數據,然後查出所以的前20條數據,排除前10條,就是第10條到第20條了啊!這是我們一直在用的方法,思路很清晰、、、
④ 在SQL SERVER中查詢資料庫中第幾條至第幾條之間的數據SQL語句怎麼寫
1、首先我們先來看一下查詢語句的like優化,如下圖所示,分別將百分號放在前面和後面。