Sql 两个查询与第一个查询结果集的并集,在Oracle中获得前十个行数
我希望将两个查询与第一个查询结果集合并,以获得Oracle中的前十行。 例子:Sql 两个查询与第一个查询结果集的并集,在Oracle中获得前十个行数,sql,oracle,oracle10g,union,rownum,Sql,Oracle,Oracle10g,Union,Rownum,我希望将两个查询与第一个查询结果集合并,以获得Oracle中的前十行。 例子: 例如,如果第一个查询有10行,最大rownum为10。我希望第二个查询rownum在union的结果中从11开始。如果第一个查询中的行数不固定,该怎么办?我们是否使用max?换句话说,您希望确保联合结果集的前十行来自联合左侧的子查询?rownum是一个伪列,所选行取决于您的排序顺序,而不是说…和rownum SELECT * FROM ( SELECT * FROM t
例如,如果第一个查询有10行,最大rownum为10。我希望第二个查询rownum在union的结果中从11开始。如果第一个查询中的行数不固定,该怎么办?我们是否使用max?换句话说,您希望确保联合结果集的前十行来自联合左侧的子查询?rownum是一个伪列,所选行取决于您的排序顺序,而不是说…和rownum
SELECT *
FROM (
SELECT *
FROM table1
ORDER BY
col1
)
WHERE rownum <= 10
UNION ALL
SELECT *
FROM (
SELECT *, rownum AS rn
FROM (
SELECT *
FROM table2
ORDER BY
col2
)
)
WHERE rn > 10