2016-08-13 4 views

ответ

2

Вы не можете использовать функции агрегации в пункте where. Вы хотите having пункт:

select count(*), snum 
from enrolled 
group by snum 
having count(*) = (select count(distinct cname) from enrolled); 

Кроме того, только одна точка с запятой может появиться, в конце запроса. И, хотя это не синтаксическая ошибка, distinct не является функцией, поэтому она не требует скобок.

1

Вы не можете использовать агрегированный термин в предложении where. Вместо этого вы должны использовать пункт having:

SELECT COUNT(*), snum 
FROM  enrolled 
GROUP BY snum 
HAVING COUNT(*) = COUNT(DISTINCT(cname)) 
Смежные вопросы