-1
假設我有一個名爲Employee的表,其中包含員工的姓名。我想從第100名員工開始打印20名員工的姓名。我怎麼做 ?如果我有一個包含200條記錄的表格(只有1列)。如何在第100條記錄後打印20條記錄?
假設我有一個名爲Employee的表,其中包含員工的姓名。我想從第100名員工開始打印20名員工的姓名。我怎麼做 ?如果我有一個包含200條記錄的表格(只有1列)。如何在第100條記錄後打印20條記錄?
你真的應該需要提及您使用的精確數據庫,因爲這是供應商高度相關。
在MySQL
,你可以使用LIMIT:
select *
from t
order by x, y, z
limit 100, 20
在Oracle 12c
,您可以使用fetch
條款與offset
:
select *
from t
order by x, y, z
offset 100 fetch next 20 rows only
對於Oracle 11g
或之前,你可以利用rownum
和子查詢:
select *
from (
select t.*, rownum as rn
from (
select *
from t
order by x, y, z
) t where rownum <= 120
) where rn > 100;
這裏需要注意的一點是order by
條款。 RDBMS中的數據集是無序的一組行。你必須定義命令,根據你說的讓行101至120
的數據庫,你真的使用? Oracle或MySQL? – GurV