반응형
이 SQL 코드는
WHERE에서는 집계 함수를 사용할 수 없습니다.
SELECT o.ID , count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID
WHERE count(p.CAT) > 3
GROUP BY o.ID;
이 오류를 어떻게 피할 수 있습니까?
해결 방법
다음과 같이 WHERE
절을 HAVING
으로 바꿉니다.
SELECT o.ID , count(p.CAT)
FROM Orders o
INNER JOIN Products p ON o.P_ID = p.P_ID
GROUP BY o.ID
HAVING count(p.CAT) > 3;
HAVING
은 WHERE
와 유사합니다. 둘 다 결과 레코드를 필터링하는 데 사용되지만 HAVING
은 집계 된 데이터를 필터링하는 데 사용됩니다 ( GROUP BY
가 사용됨).
참조 페이지 https://stackoverflow.com/questions/20991729
반응형
'MySql' 카테고리의 다른 글
MySQL 데이터베이스에서 현재 날짜를 가져 오는 MySQL 쿼리? (0) | 2020.12.14 |
---|---|
MySQL 데이터베이스에 PHP 삽입이 작동하지 않음 (0) | 2020.12.14 |
MySQL Codeigniter의 result_array () ActiveRecord (0) | 2020.12.14 |
MySQL-0이 아닌 MIN 찾기 (0) | 2020.12.14 |
MySQL SELECT 쿼리에서 여러 열을 기준으로 정렬하는 방법은 무엇입니까? (0) | 2020.12.14 |
댓글