在SQL中怎樣查詢表的第20條資料到30條資料

時間 2021-10-14 22:24:01

1樓:匿名使用者

1、建立測試表,

create table test_order(id number , value varchar2(20));

2、插入測試資料

insert into test_order select 100+level as id, 'value_'||level from dual connect by level<=100;

commit;

3、查詢表中全量資料,select t.* from test_order t;

4、編寫sql,根據id進行排序,查詢第20條資料到30條資料;

select * from (select t.*, row_number() over(order by id) rn from test_order t )

where rn >= 20 and rn <= 30;

2樓:普實軟體

sqlserver查詢操作步驟:

①先根據id公升序 查詢前30條記錄資訊,再將查詢的結果根據id降序 查詢前20條記錄。

select *

from (select top 20 * from (select top 30 * from 表名 order by id) t1 order by id desc) t2

order by id

②先將查詢出前10條記錄資訊,然後將這10條資訊從結果集中剔除掉。

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

③先查詢出前10條記錄最大的id,然後再查詢出》id的前10條記錄資訊。

select top10 *

from 表名

where id>(select max(id) from (select top10 id from 表名 order by id) t1)

order by id

④sqlserver2005後可以根據row_number查詢。

select   *   from

(select   *,   row_number()   over   (order   by   id)   as   rownum   from   表) t

where   rownum   between   21   and   30

3樓:冰悅精彩

您好:sql server中可以使用以下語句:

select top 10 列名

from 表名

where 主鍵 not in (select top 20 主鍵 from 表名 where 條件 order by 排序)

and 條件

order by 排序

sql表中同時查詢兩個count的sql語句

可以有兩種解決方法。方法1 select name count 1 as 總題數 sum case when statu 1 then 1 else 0 end as 稽核題數 from question group by nme 方法2 select s.總題數,s.稽核題數,s.name fro...

SQL數個表中相同ID的求和查詢

李巨集 如果表的數量都不能確定,那麼就不是一件易事了 一兩句sql解決不了問題 求id為123在20060801至20060804期間的銷售總和 select id,sum 銷售額 from select from 20060801union select from 20060802union se...

SQL語句怎麼查詢表中的第幾行的資料,比如第5行,按主鍵id排序

1 需要用到row number 2,select id,row no from select id,row number over partition by 如果有需要分組的 上,order by id as row no from table xx where xx.row no 5 需要什麼填...