SQL错误:缺少右括号

SQL错误:缺少右括号,sql,database,oracle,Sql,Database,Oracle,我想将下面的查询用作另一个语句中的子查询,但当我将其括在括号中时,出现了错误“缺少右括号” 没有大括号,一切都很好 这里有什么问题?我需要将该语句括在大括号内,以便将其用作另一条语句的子查询。我该怎么办 (SELECT dname FROM student, major WHERE student.sid = major.sid AND year = 5 GROUP BY year, dname HAVING Co

我想将下面的查询用作另一个语句中的子查询,但当我将其括在括号中时,出现了错误“缺少右括号”

没有大括号,一切都很好

这里有什么问题?我需要将该语句括在大括号内,以便将其用作另一条语句的子查询。我该怎么办

(SELECT dname 
 FROM   student, 
        major 
 WHERE  student.sid = major.sid 
        AND year = 5 
 GROUP  BY year, 
          dname 
 HAVING Count(student.sid) > 5 
 ORDER  BY year) 

您不能在中的
内使用带有子查询的
ORDER BY
。因为
中的
并不关心指定值的顺序

 with temp as (select dname, count(sid) as majors
 from major 
 group by dname
 order by majors desc)
 select dname
 from temp
 where majors > 15 or dname in  (SELECT dname 
  FROM   student, 
        major 
  WHERE  student.sid = major.sid 
        AND year = 5 
  GROUP  BY year, 
          dname 
  HAVING Count(student.sid) > 5 ) 
输出

dname
d1
d2

用你的主查询removed
mysql
标记发帖,因为该查询显然不能在那里使用(因为CTE)@anvitapotluri你应该将你在评论中放置的主查询添加到你的问题中。
dname
d1
d2