더북(TheBook)

12.1.3 가장 많은 당첨금이 나온 회차와 번호, 금액 조회

이번에는 역대 최대 당첨금이 가장 많이 나온 회차와 당첨금액, 당첨번호를 알아봅시다. 여기서 최대 당첨금이란 1등 당첨금을 말합니다. 회차별 당첨 순위, 당첨자 수, 1인 당첨금은 lotto_detail 테이블에 있고 당첨금액은 win_money 컬럼에 있으니, 이 컬럼을 내림차순으로 조회하면 알 수 있겠죠. 그런데 당첨번호까지 알려면 당첨번호가 있는 lotto_master 테이블과 조인을 해야 합니다. 두 테이블은 회차(seq_no 컬럼)로 조인하면 됩니다.

쿼리 12-7 최대 당첨금과 당첨번호 조회

SELECT a.seq_no
      ,a.draw_date
      ,b.win_person_no
      ,b.win_money
      ,a.num1 ,a.num2 ,a.num3
      ,a.num4 ,a.num5 ,a.num6 ,a.bonus
  FROM lotto_master a
      ,lotto_detail b
 WHERE a.seq_no = b.seq_no
   AND b.rank_no = 1
 ORDER BY b.win_money DESC;

 

▲ 그림 12-5 쿼리 12-7을 실행한 결과(조회 결과 일부만 발췌)

 

최대 당첨금은 1등을 의미하므로 lotto_detail 테이블의 rank_no 값이 1인 건을 조회했고 로또 번호까지 조회해야 하므로 lotto_masterlotto_detail 테이블을 seq_no 컬럼으로 조인했습니다. 그리고 당첨금 컬럼인 win_money 컬럼을 내림차순으로 조회했습니다. 결과를 보면 2003년 4월 12일 19회차에 추첨한 400억 정도의 금액이 한 명한테 돌아갔군요. 정말 부럽네요! 참고로 쿼리 12-7의 정렬 순서를 오름차순으로 변경하면 최소 당첨금 정보도 알 수 있습니다.

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