ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MySQL] 실전 유용 문법 - Case
    데이터 공부하기 2022. 8. 29. 23:26

    CASE는 경우에 따라 원하는 값을 새 필드에 출력해볼때 사용한다

     

    예시 코드
    10000점보다 높은 포인트를 가지고 있으면 '잘 하고 있어요!', 평균보다 낮으면 '조금 더 달려주세요!' 라고 표시해 주려면 어떻게 해야할까요? select pu.point_user_id, pu.point,
    (case 
    when pu.point > 10000 then '잘 하고 있어요!'
    else '조금 더 달려주세요!'
    END) as 구분

     

    Subquery를 이용하면 통계를 낼 수 있음

    기본 Subquery 사용! with절로 정리!
    select pu.point_user_id, pu.point,
    case 
    when pu.point > 10000 then '1만 이상'
    when pu.point > 5000 then '5천 이상'
    else '5천 미만'
    END as lv
    from point_users pu
    select level, count(*) as cnt from (
    select pu.point_user_id, pu.point,
    case 
    when pu.point > 10000 then '1만 이상'
    when pu.point > 5000 then '5천 이상'
    else '5천 미만'
    END as lv
    from point_users pu
    ) a
    group by lv
    with table1 as (
    select pu.point_user_id, pu.point,
    case 
    when pu.point > 10000 then '1만 이상'
    when pu.point > 5000 then '5천 이상'
    else '5천 미만'
    END as lv
    from point_users pu
    )
    select lv, count(*) as cnt from table1
    group by lv

     

     

     

    '데이터 공부하기' 카테고리의 다른 글

    [MySQL] 문법 총정리  (0) 2022.08.29
    [MySQL] 실전 유용 문법 - 문자열  (0) 2022.08.29
    [MySQL] 'with 절' in Subquery  (0) 2022.08.29
    [MySQL] 수업 4주차 - Subquery  (0) 2022.08.29
    [MySQL] 수업 3주차 - Join  (0) 2022.08.08
Designed by Tistory.