LIMIT 不适用于 UNION
LIMIT does not work with UNION
下面的代码有什么问题?
SELECT first_name, last_name
FROM employees
UNION ALL
SELECT first_name, last_name
FROM dependents
ORDER BY last_name
LIMIT 6 OFFSET 1;
即使使用 LIMIT 的简单查询似乎也不起作用:
SELECT first_name, last_name
FROM dependents
ORDER BY last_name
LIMIT 6 OFFSET 1;
Getting this error repeatedly: ORA-00933: SQL command not properly
ended
我相信oracle不支持LIMIT
。试试这个
ORDER BY last_name
OFFSET 1 ROWS FETCH NEXT 6 ROWS ONLY;
注意此语法支持 Oracle 12c
代码有问题的是 Oracle 不支持 limit
。时期。最新版本支持 ANSI 标准 fetch first <n> rows only
.
也许你打算:
SELECT e.*
FROM (SELECT e.*, ROW_NUMBER() OVER (ORDER BY last_name) as seqnum
FROM (SELECT first_name, last_name FROM employees
UNION ALL
SELECT first_name, last_name
FROM dependents
) e
ORDER BY last_name
) e
WHERE seqnum BETWEEN 1 and 7;
下面的代码有什么问题?
SELECT first_name, last_name
FROM employees
UNION ALL
SELECT first_name, last_name
FROM dependents
ORDER BY last_name
LIMIT 6 OFFSET 1;
即使使用 LIMIT 的简单查询似乎也不起作用:
SELECT first_name, last_name
FROM dependents
ORDER BY last_name
LIMIT 6 OFFSET 1;
Getting this error repeatedly: ORA-00933: SQL command not properly ended
我相信oracle不支持LIMIT
。试试这个
ORDER BY last_name
OFFSET 1 ROWS FETCH NEXT 6 ROWS ONLY;
注意此语法支持 Oracle 12c
代码有问题的是 Oracle 不支持 limit
。时期。最新版本支持 ANSI 标准 fetch first <n> rows only
.
也许你打算:
SELECT e.*
FROM (SELECT e.*, ROW_NUMBER() OVER (ORDER BY last_name) as seqnum
FROM (SELECT first_name, last_name FROM employees
UNION ALL
SELECT first_name, last_name
FROM dependents
) e
ORDER BY last_name
) e
WHERE seqnum BETWEEN 1 and 7;