티스토리 뷰
개발을 하면서, 효율적인 SQL을 작성하기에 앞서 SQL 에 대해 더 친근해지고자!!
예전에 프로그래머스에 있는 SQL 문제를 모두 풀었습니다.
저만 알기보다, 각 게시글을 Lv 1에서 5까지하여 모든 문제의 답을 공유하고자합니다.
(참고로 기본적인 데이터베이스 지식과 함께 SQL을 공부한다면,
따로 SQLD를 학습하지 않아도 쉽게 따실 수 있습니다!! 따로 준비 안하고 땄습니듯! )
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
SELECT DATE_FORMAT(O.SALES_DATE, '%Y') AS YEAR,
DATE_FORMAT(O.SALES_DATE, '%m') AS MONTH,
COUNT(DISTINCT U.USER_ID) AS PUCHASED_USERS,
ROUND(COUNT(DISTINCT U.USER_ID)
/
(SELECT COUNT(*) FROM USER_INFO WHERE joined LIKE '2021%'), 1) AS PUCHASED_RATIO
FROM USER_INFO U
JOIN ONLINE_SALE O
ON U.USER_ID = O.USER_ID
WHERE U.JOINED LIKE '2021%'
GROUP BY YEAR, MONTH
ORDER BY YEAR, MONTH;
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
WITH RECURSIVE TMP AS (
SELECT ID, PARENT_ID, 1 AS GENERATION
FROM ECOLI_DATA
WHERE PARENT_ID IS NULL
UNION ALL
SELECT S.ID, S.PARENT_ID, TMP.GENERATION + 1
FROM TMP JOIN ECOLI_DATA S
ON TMP.ID = S.PARENT_ID
)
SELECT COUNT(*) AS COUNT, GENERATION
FROM TMP
WHERE ID NOT IN (
SELECT DISTINCT PARENT_ID
FROM TMP
WHERE PARENT_ID IS NOT NULL
)
GROUP BY GENERATION
ORDER BY GENERATION;
'SQL' 카테고리의 다른 글
프로그래머스 SQL Lv 4 (0) | 2025.04.14 |
---|---|
프로그래머스 SQL Lv 3 (0) | 2025.04.14 |
프로그래머스 SQL Lv 2 (0) | 2025.04.07 |
프로그래머스 SQL Lv 1 (0) | 2025.04.07 |