1
2
3
4
|
SELECT name, count(name) count
FROM animal_ins
GROUP BY name
HAVING count > 1;
| cs |
'name count가 2 이상' 조건을 사용하기 위해 WHERE 절을 사용할 수 있겠다고 생각하여 아래의 코드를 작성하였습니다.
1
2
3
4
|
SELECT name, count(name) count
FROM animal_ins
WHERE count > 1
GROUP BY name;
| cs |
하지만 아래의 에러가 발생하였습니다. WHERE 절에서는 SELECT 절에서 설정한 열의 별명을 사용할 수 없었습니다.
SQL 실행 중 오류가 발생하였습니다.
Unknown column 'count' in 'where clause'
그래서 별명 count를 사용하지 않고 count(name)을 사용하여 아래의 코드를 작성하였습니다.
1
2
3
4
|
SELECT name, count(name) count
FROM animal_ins
WHERE count(name) > 1
GROUP BY name;
| cs |
하지만 아래의 에러가 발생하였습니다. WHERE 절에서는 count와 같은 그룹핑 함수를 사용할 수 없었습니다.
SQL 실행 중 오류가 발생하였습니다.
Invalid use of group function
위와 같은 과정을 통해 HAVING 절과 WHERE 절의 역할을 이해할 수 있었습니다. 그룹핑 함수를 이용하여 조건을 적용하고 싶다면 HAVING을 사용해야 합니다.
댓글 없음:
댓글 쓰기