Coding Test/SQL
[Programmers] 분기별 분화된 대장균의 개체 수 구하기 - 299308
ro_rdil_31
2024. 9. 29. 14:52
728x90
CASE END 구문은 괄호()를 사용하면 안된다 !!! 할거면 (CASE ~~~ END) 로 써야함.
습관적으로 썼는데 오류 나더라.. 꼭 기억하긔
Question
각 분기(QUARTER)별 분화된 대장균의 개체의 총 수(ECOLI_COUNT)를 출력하는 SQL 문을 작성해주세요. 이때 각 분기에는 'Q' 를 붙이고 분기에 대해 오름차순으로 정렬해주세요. 대장균 개체가 분화되지 않은 분기는 없습니다.
Point
- CASE END 구문에 () 쓰지 않기
- MONTH
Code (After 25.06.)
SELECT CONCAT(QUARTER(DIFFERENTIATION_DATE),'Q') AS QUARTER
, COUNT(1) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY 1
ORDER BY 1
Code (After)
SELECT CONCAT(FLOOR((MONTH(DIFFERENTIATION_DATE)-1)/3)+1,'Q') AS QUARTER, COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY 1
ORDER BY 1
Code (Before)
SELECT CASE
WHEN MONTH(DIFFERENTIATION_DATE) <= 3 THEN '1Q'
WHEN MONTH(DIFFERENTIATION_DATE) <= 6 THEN '2Q'
WHEN MONTH(DIFFERENTIATION_DATE) <= 9 THEN '3Q'
ELSE '4Q'
END AS QUARTER, COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY 1
ORDER BY 1

now me
On my Github
728x90