Shonny Data

SQL 코드카타 - GROUP BY ~ HAVING / CASE WHEN 본문

Sparta_coding_club/SQL 코드카타

SQL 코드카타 - GROUP BY ~ HAVING / CASE WHEN

데이터분석쇼니 2023. 12. 26. 20:25


SQL 코드카타

진행과정

처음에는 최대한 내가 작성할 수 있는 곳까지는 스스로 작성하고,
모르는 문제는 먼저 구글로 검색을 해서 개념을 알아본 후,
최종 단계에서 프로그래머스 커뮤니티에 있는 답변예시들을 분석하려 노력했다.

 

문제 다시보기

① 동일한 회원이, 동일한 제품을 구매시 ~ 

 ○ 필요한 컬럼

  회원ID → GROUP BY 로 분류
  제품ID → GROUP BY 로 분류 / 각각 어떤 제품을 몇개씩 샀는지 분석 필요
  COUNT(제품 ID) → 각 제품을 몇개씩 샀는지 계산 필요 

 ○ 필요한 함수 : GROUP BY ~ HAVING 

 - GROUP BY 에서 조건을 주려면 WHERE 이 아닌 HAVING을 사용할 것 
 - HAVING은 GROUP BY 뒤에 작성하며 WHERE과 동일한 형식으로 작성 

 

②  전화번호 하이픈 넣기

 ○ 필요한 컬럼

    전화번호 →  숫자 데이터인지 확인, 전화번호 갯수 확인

 ○ 필요한 함수 : CASE WHEN 

 - 전화번호의 길이가 10자리인지 11자리인지 따라서 다른 함수 적용

더보기

CASE LENGTH(TLNO)

   WHEN   11   THEN   CONCAT( LEFT(TLNO, 3) , '-', MID(TLNO, 4, 4), '-', RIGHT(TLNO, 4) )
   WHEN   10   THEN   CONCAT ( LEFT(TLNO, 3) , '-', MID(TLNO, 4, 3), '-', RIGHT(TLNO, 4) )
   END