目录
由于oracle不能使用limit,所以用fetch用来限制查询返回的行数。
一、语法
sql
[ OFFSET offset ROWS]
FETCH NEXT [ row_count | percent PERCENT ] ROWS [ ONLY | WITH TIES ]
说明:
- OFFSET是偏移量,常数,不写默认为0,常用于分页。
- FETCH NEXT 1 ROWS 等同于 FETCH FIRST 1 ROW。
- only只返回指定的量,with ties 返回和最后一条数据相同的数据。
- 所以经常搭配order by使用。
- 12c以上版本可用。
二、oracle等同写法
例:查年龄最小的三个同学信息。(order by默认升序)
sql
SELECT NAME,AGE
FROM USER
ORDER BY AGE
FETCH NEXT 3 ROWS WITH TIES;
等同于
SELECT NAME,AGE
FROM USER
WHERE ROWNUM=3
ORDER BY AGE;
三、Mysql等同写法
sql
SELECT NAME,AGE
FROM USER
ORDER BY AGE
LIMIT 0,3;