sql查詢第30條資料到40條資料怎麼查啊,id有可能不是連續的

2022-02-19 17:29:53 字數 3508 閱讀 2774

1樓:匿名使用者

假設資料所在的表為a,查詢語句輔助的表t,表w。

sql語句查詢邏輯過程為首先選出前40條記錄,然後按照遞減順序查詢後11條記錄,也就是從第40條,第39條,...,第30條記錄。為了還原為原來資料的遞增順序,可以再巢狀個select語句。

select * from (select top 11 * from (select top 40 * from a order by id asc) t order by t.id desc) w order by w.id asc

2樓:

mysql 可以用limit 30, 10mssql 沒法直接取

可以先 select max(id) as id from table where id in (select top 40 id from table)

然後在 select top 10 * from table where id < (上面的max) order by id desc

3樓:

修改 select top 40* from table where 欄位名not in (select top 30 欄位名 from table)

4樓:google技術組

oracle 可以用rownum

select *

from (select rownum r,*from table)

where r between 30 and 40

5樓:匿名使用者

select top 10 * table

where id in ( select top 40 id from table order by id )

and id not in ( select top 30 id from table order by id )

寫出一條sql語句:取出表a中第31到第40記錄(sqlserver,以自動增長的id作為主鍵,注意:id可能不是連續的

6樓:匿名使用者

有可能是因為子查詢結果集別名和表名相同造成的。改一下子查詢結果集的別名試試呢,不要as t_ap,as另外一個名字

寫出一條sql語句:取出表a中第31到第40記錄(sqlserver,以自動增長的id作為主鍵,注意:id可能不是連續的

7樓:匿名使用者

不好意思之前算錯數,下面一句sql**返回第31到第40共10條記錄,按自動id升序排序:

select t2.* from (select top 10 t1.* from (select top 40 * from table1 order by id)t1 order by t1.

id desc) t2 order by t2.id

8樓:匿名使用者

這就是個分頁取值的原型...

31條到40條就是10條資料

select top 10 * from 表名 where id not in (select id from 表名 )

這樣就可以過濾掉前面30條了,其中語句中的'id'值是用來過濾的,無論的你的id是否連續,只要出現在子查詢中的id,主查詢都會把他過濾掉,這樣就可以實現31-40的查詢瞭望採納

9樓:

sql語句為:

select * from a where id >=31 and id <= 40

oracle語句為:

select * from a where rownum>=31 and rownum<=40

oracle和sql都能使用的是

select top 10 * from (select top 40 * from a order by id) order by id desc

或者是select top 10 * from a where id not in (select id from top 30 from a)

10樓:匿名使用者

select top 10 * from 表名 where id not in(select id from top 30 from 表名)

肯定可以用。。

11樓:錢多多

sql:

select top 10 * from (select top 40 * from a order by a.id)t

order by t.id desc

orcal:

select * from (select row_.*, rownum rownum_ from (

select * from a

)row_ where rownum <=40) where rownum_ > 31望採納

要查資料表中第30到40條記錄,有欄位id,但是id並不連續。如何寫sql語句?

12樓:匿名使用者

select *

from (select id,a,b,rownum from a where rownum<40) t

where t.rownum>30

,sqlserver資料庫,查詢表a 中id 31至40的所有資訊,id為自動增長,注意有可能不是連續的。怎麼寫sql語句

13樓:匿名使用者

select 欄位 from a where id between 31 and 40;

14樓:匿名使用者

select * from a where id>30 and id<=40

15樓:匿名使用者

分頁的寫法:

select top 10 * from a where id not in (select top 30 id from a order by id) order by id

普通寫法:

select * from a where id between 31 and 40

oracle資料庫查詢中返回指定的行數例如31到40,主鍵id,但不連續,請問這樣的語句如何寫?

16樓:匿名使用者

oracle分頁:

select * from (

select t.*,rownum from (select * from table1 where condition order by column) t )

where rownum>(pangenow-1)*5 and rownum<=(pagenow)*5

17樓:匿名使用者

使用rownum 多層巢狀

18樓:蒼穹陸帝

用rownum來取31到40行

MySql怎麼查詢前10條資料,mysql如何查詢各年的前10條記錄

mysql 沒有top的用法。取而代之的是limit語法為 limit m,n 省略n就可以得到你要的效果了。select from table1 limit 10 select from tablename limit 0,10 select from table limit 10 mysql怎麼...

oracle資料庫刪除表中一條資料sql語句

sql delete from 資料庫.表名 where id 1 講解 如果不用跨庫,可以省略 資料庫 1代表唯一的一條記錄,是引數。delete from 表名 where 條件 mit 提交 保留表,只刪除資料 truncate table mytable 或者 delete from myt...

mysql查詢,某條記錄變化前最後一條資料和變化後的第一條資料,應該怎麼寫

不明白你需要的查詢結果是什麼,請舉例說明 mysql怎麼查詢一條記錄的前一條記錄和後一條記錄 上一條 select from 表 where 資料id 當前顯示資料id order by 資料 id asc limit 1 下一條 select from 表 where 資料id 當前顯示資料id ...