본문 바로가기
[업무 지식]/MySQL

[recursive] Print Prime Numbers

by 에디터 윤슬 2024. 12. 13.

링크

https://www.hackerrank.com/challenges/print-prime-numbers/problem

 

Print Prime Numbers | HackerRank

Print prime numbers.

www.hackerrank.com

 

문제

정답

with recursive tmp as (
    select 2 as num
    union all
    select num + 1
    from tmp
    where num < 1000
), prime as (
    select t1.num
    from tmp as t1
    join tmp as t2 on t1.num > t2.num and t1.num % t2.num = 0
)
select group_concat(num separator '&') as numbers
from tmp 
where num not in (select num
                 from prime)

새롭게 이해한 내용

  • with recursive 절: 재귀(자기 자신을 참조하는 것)적 CTE 정의하여 숫자 2부터 1000까지 있는 tmp 컬럼을 생성
  • 1000 이하의 숫자 중 소수가 아닌 수를 정의하여 prime 임시 테이블로 추출
  • group_concat으로 &으로 구분
  • where로 소수인 경우만 추출

'[업무 지식] > MySQL' 카테고리의 다른 글

[QCC] Query Challenge Cycle  (0) 2025.01.03
[recursive] Draw The Triangle  (0) 2024.12.12
[날짜 그룹화] SQL Project Planning  (0) 2024.12.03
[MAX() over()] Challenges  (0) 2024.11.29
[row index] Weather Observation Station 20  (0) 2024.11.25