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 ...