1보다 큰 건이 없으니 중복된 번호는 없어 보이는군요. 하지만 이를 확인하려면 스크롤바를 내리며 조회 결과를 일일이 확인해야 합니다. 더 좋은 방법은 없을까요? 당연히 있습니다. COUNT(*)로 반환된 건수가 1보다 큰 건이 있는지 조회해 보면 됩니다. GROUP BY 절 사용 시 집계 함수에 대한 조건은 WHERE 절이 아닌 HAVING 절을 사용해야 한다는 점, 잊지 않았죠?
쿼리 12-4 중복된 로또 번호 존재 여부 조회 2
SELECT num1, num2, num3, num4, num5, num6, COUNT(*)
FROM lotto_master
GROUP BY num1, num2, num3, num4, num5, num6
HAVING COUNT(*) > 1;
▲ 그림 12-2 쿼리 12-4를 실행한 결과
HAVING 절을 사용해 COUNT(*) 수가 1보다 큰 건을 조회하니 조회된 데이터가 없군요. 이로써 827회까지 중복된 당첨번호는 없음을 알 수 있습니다.