2013-11-29 2 views
2

Я пытаюсь сделать это:MySQL Easy больше функций

SELECT Filmai.Pagrind_atlik, (COUNT(Filmai.Pagrind_atlik)) AS Kiek_kartu_filmavosi 
FROM Filmai 
WHERE Kiek_kartu_filmavosi >2 
GROUP BY Filmai.Pagrind_atlik; 

Но это не позволит мне сделать> 2 вещи. Так что, возможно, какие-то предложения?

ответ

5

Вы должны использовать HAVING Пунктом

SELECT Filmai.Pagrind_atlik, 
(COUNT(Filmai.Pagrind_atlik)) AS Kiek_kartu_filmavosi 
FROM Filmai 
GROUP BY Filmai.Pagrind_atlik 
HAVING Kiek_kartu_filmavosi >2; 

WHERE применяется до GROUP BY, HAVING применяется после того, как (и может фильтровать на агрегатах).

+0

Вы должны использовать HAVING после GROUP BY, иначе вы получите синтаксическую ошибку. –

+0

@FilipeSilva был в спешке, теперь исправлен –

+0

Спасибо за помощь :) – user2965118

5

КОГДА вы хотите ограничить результаты агрегатной функции, вы не можете использовать ее в предложении WHERE. Вы должны использовать HAVING:

SELECT Filmai.Pagrind_atlik, 
    COUNT(Filmai.Pagrind_atlik) AS Kiek_kartu_filmavosi 
FROM Filmai 
GROUP BY COUNT(Filmai.Pagrind_atlik) 
HAVING COUNT(Filmai.Pagrind_atlik) > 2 
+0

+1 для лучшего форматирования в ответе. –

+0

Спасибо за помощь :) – user2965118