ror_coding

[Programmers] 분기별 분화된 대장균의 개체 수 구하기 - 299308 본문

Algorithm/SQL

[Programmers] 분기별 분화된 대장균의 개체 수 구하기 - 299308

ro_rdil_31 2024. 9. 29. 14:52
728x90

CASE END 구문은 괄호()를 사용하면 안된다 !!! 할거면 (CASE ~~~ END) 로 써야함.

습관적으로 썼는데 오류 나더라.. 꼭 기억하긔

 

Question

 

각 분기(QUARTER)별 분화된 대장균의 개체의 총 수(ECOLI_COUNT)를 출력하는 SQL 문을 작성해주세요. 이때 각 분기에는 'Q' 를 붙이고 분기에 대해 오름차순으로 정렬해주세요. 대장균 개체가 분화되지 않은 분기는 없습니다.

 

 

Point

 

  1. CASE END 구문에 () 쓰지 않기
  2. MONTH

 

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