더북(TheBook)

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회까지 중복된 당첨번호는 없음을 알 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.