首页 > sql语句报错

sql语句报错

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
  1. 子查询需要有自己的别名,否则不认

  2. 你的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;

【热门文章】
【热门文章】