在 SQL 中,ROWNUM 是 Oracle 數據庫的一個偽列,用于表示結果集中行的編號。要實現動態查詢,可以使用 ROWNUM 配合 WHERE 子句來限制返回的行數。以下是一個簡單的示例:
-- 查詢前 10 行數據
SELECT * FROM (
SELECT t.*, ROWNUM AS row_num FROM your_table t WHERE ROWNUM <= 10
) WHERE row_num >= 1;
這個查詢會從 your_table
表中獲取前 10 行數據。ROWNUM
會為每一行分配一個唯一的編號,我們通過 WHERE 子句限制只返回編號小于等于 10 的行。
如果你想要實現更復雜的動態查詢,可以使用其他條件和函數來限制返回的行數。例如,你可以根據日期或者其他字段進行篩選。以下是一個根據日期篩選的示例:
-- 查詢最近 7 天內的數據
SELECT * FROM (
SELECT t.*, ROWNUM AS row_num FROM your_table t WHERE date_column >= SYSDATE - 7 AND ROWNUM <= 10
) WHERE row_num >= 1;
這個查詢會從 your_table
表中獲取最近 7 天內的數據,并限制返回的行數為 10。注意,這里的 date_column
需要替換為你的表中對應的日期字段名稱。