
1분기 최대 성과 : )
조급해하지 않고, 하나씩 차분히 채워 나가기.
CASE
WHEN 조건 1 THEN 결과 1
WHEN 조건 2 THEN 결과 2
ELSE 결과3 END
조건을 작성하는 순서대로 위에서부터 필터링이 된다.
조건문을 지원하는 연산자
ORDER BY: 특정 열(칼럼)을 기준으로 결과값을 출력할 때 사용하는 함수
몇 가지 TIPS
✔️ 문제 #1: date 컬럼 기준 조건부 추출
✔️ 작성 쿼리
select game_account_id ,
game_actor_id ,
serverno
from users
where `date` > '2023-01-01'
✔️ 실행 결과
✔️ 문제 #2: 여러 가지 조건에 부합하는 값 추출
✔️ 작성 쿼리
select `date` ,
ip_addr ,
`exp` ,
zone_id
from users
where level > 10
and serverno != 1
and etc_str2 like '%시즌패스%' or etc_str2 like '%레벨업%'
and etc_str1 like '상점%'
order by `date` desc
✔️ 실행 결과
✔️ 문제 #3: 여러 가지 조건에 부합하는 값 추출
✔️ 작성 쿼리
select game_actor_id,
level,
levelgroup,
date
from
(
select *,
case when level between 1 and 10 then '1~10lv'
when level between 11 and 20 then '11~20lv'
when level between 21 and 30 then '21~30lv'
when level between 31 and 40 then '31~40lv'
when level between 41 and 50 then '41~50lv'
when level between 51 and 60 then '51~60lv'
when level between 61 and 70 then '61~70lv'
when level between 71 and 80 then '71~80lv'
when level between 81 and 90 then '81~90lv'
when level between 91 and 100 then '91~100lv'
else null end levelgroup
from users
) a
order by date desc
✔️ 실행 결과
✔️ 문제 #4: 컬럼 형태 변경 후 조건부 추출하기
✔️ 작성 쿼리
select m,
game_account_id,
game_actor_id
from
(
select *,
date_format(`date`,'%Y-%m') `m`
from users
) a
order by 1, 3 desc
✔️ 실행 결과
✔️ 참고
오늘의 한 줄.
1주차 12조 '원투원투' 안녕..
2주차 1조 'SELECT 1' 안녕!