【发布时间】:2015-10-06 07:41:41
【问题描述】:
我正在努力获取基于 rownum 的数据。当我执行以下查询以获取基于 rownum 1 to 4 的结果时,它工作正常。
SELECT ROWNUM TOTAL,MI.* FROM (SELECT USER_ID,CUSTOMER_NAME FROM ELEC_AUTO_MERC
ORDER BY CREATION_DATE DESC ) MI WHERE ROWNUM BETWEEN 1 AND 4;
但是当我执行相同的查询以从 rownum 2 to 4 获取结果时,它不工作,它不返回任何内容。
SELECT ROWNUM TOTAL,MI.* FROM (SELECT USER_ID,CUSTOMER_NAME FROM ELEC_AUTO_MERC
ORDER BY CREATION_DATE DESC ) MI WHERE ROWNUM BETWEEN 2 AND 4;
作为一种解决方法,当我再使用一个 SELECT 语句时,它工作正常,但我认为仅对 rownum 多次使用 SELECT 不是一个好方法。
SELECT * FROM (SELECT ROWNUM TOTAL,MI.* FROM (SELECT USER_ID,CUSTOMER_NAME FROM ELEC_AUTO_MERC
ORDER BY CREATION_DATE DESC ) MI) WHERE TOTAL BETWEEN 2 AND 4;
你能帮我创建优化查询吗?
【问题讨论】: