select ename,distinct(sal)from (select * from emp);为什么会报错呢?distinct应该怎么用呢?
oracle中的distinct不是个函数,它可以放到select语句之后,表示结果集中会排除重复记录(按照select中列出的字段)。
另外,这样的sql语句中,在oracle中子查询不需要别名,语句应该改写为:
select distinct ename, sal from (select * from emp)
你这样真的好么?
SELECT DISTINCT ename, sal FROM (SELECT * FROM emp ) as tmp
子查询需要有自己的别名,否则不认
你的DISTINCT 那样子写真的不知道你的意图是什么?
给生成的子表起个名字试试,还有确保emp表有这俩字段。
select a.ename,distinct a.sal from(select * from emp) as a
select ename,distinct(sal)from (select * from emp)a
select distinct sal, ename from emp;