select * from departments
minus
(select * from departments
where rownum <6
)这么写没问题 可以得到正确结果
但是我想加order by 却出现错误
请问 order by应该加在哪里才不会出现错误呢
minus
(select * from departments
where rownum <6
)这么写没问题 可以得到正确结果
但是我想加order by 却出现错误
请问 order by应该加在哪里才不会出现错误呢
select * from (
select * from departments
minus
select * from departments
where rownum <6 ) t
order by column_name;
select * from departments
minus
(select * from departmentswhere rownum < 6)
order by 1
SELECT *
FROM SCM_CUSTPROD_HDR
MINUS (SELECT * FROM SCM_CUSTPROD_HDR WHERE ROWNUM < 6)
ORDER BY 1
或者
SELECT CUSTPRODHDR_KEY, SCMGROUP_ID
FROM SCM_CUSTPROD_HDR
MINUS (SELECT CUSTPRODHDR_KEY, SCMGROUP_ID FROM SCM_CUSTPROD_HDR WHERE ROWNUM < 6)
ORDER BY CUSTPRODHDR_KEY直接使用*不能识别。
minus
intersect
union
默认都是触发排序操作的
默认的排序列是第一列
-- 这样的语句,不就可以写成:select * from (
select * from departments
where rownum >=6 ) t
order by ......