2011-02-14 3 views
0

에 갖는어디/I 쿼리 쓰고 집계 함수 문제

SELECT COUNT(*) AS count , var1, var2 
FROM table 
GROUP BY var1, var2 
ORDER BY count DESC 

이 쿼리 작동하지만 모든 것을 잡고. count> x (임의의 숫자)에서만 결과를 얻으려고합니다.

내가 WHERE count > x 얻을를 사용하여 시도했다 :

1054 - 알 수없는 열 '스패머'내가 사용하는 경우 '절 곳을'

(맨 마지막에 추가) 내가 얻을 HAVING count > x에서 :

1064 - SQL 구문에 오류가 있습니다. 올바른 구문은

기타 자세한 근처에서 사용하는 MySQL 서버 버전에 해당하는 설명서를 확인하십시오 당신이 사용할 수있는 MySQL의 4.1

답변

0

를 사용하여 x는 정수이다 HAVING count(*) > x

.

WHERE count(*) > x 

당신은 WHERE 절에 별칭을 사용하지 못할 :

SELECT COUNT(*) AS count , var1, var2 
FROM table 
GROUP BY var1, var2 
ORDER BY count(*) DESC 
Having count(*) > x 
+0

감사합니다! 그게 효과가 있었어. 이전에이 방법을 시도했지만 문서를 잘못 읽었을 것입니다. LIMIT 문을 사용하지 않으면 HAVING이 끝나야합니다. 분명히 ORDER BY도 그 전에 간다. 매우 감사! – cmkz

0

당신은 사용해야합니다.

당신은 또한 사용할 수 있습니다

HAVING count(*) > x