rubus0304 님의 블로그

[데이터분석 4일차] (라이브세션 과제: where구문, subquery) 본문

Data Analyst/daily

[데이터분석 4일차] (라이브세션 과제: where구문, subquery)

rubus0304 2024. 10. 4. 20:25

라이브 세션 2 로그정의서

조건1)

first_login_date 컬럼이 2023-01-01 초과인 날짜의 game_account_id, game_actor_id, serverno 를 추출해주세요. 결과값은 아래와 같은 형태이며, 정렬을 하지 않았으므로 결과값 순서는 달라질 수 있습니다. 아래 그림은 전체 중 일부입니다. **사용자의 로컬 환경 및 MySQL 버전에 따라 화면이 다르게 보일 수 있습니다.

 

select game_account_id,

          game_actor_id,

          serverno

from users

where first_login_date>2023-01-01

 

 

 

 

조건1) level 컬럼이 10 초과이고

조건2) serverno컬럼이 1이 아니며

조건3) 아이템 이름컬럼이 레벨업 패키지 또는 시즌패스이고

조건4) 아이템 획득 경로가 상점에서 구매한 경우의 first_login_date, ip_addr, exp, zone_id 를 추출하고 결과값을 first_login_date, ip_addr기준 내림차순으로 정렬해주세요. 결과값은 아래와 같은 형태입니다.

아래 그림은 전체 중 일부입니다.

**사용자의 로컬 환경 및 MySQL 버전에 따라 화면이 다르게 보일 수 있습니다.

 

 

select first_login_date,

           ip_addr

           exp,

           zone_id

from users

where level >10 and serverno <>1 and (etc_str2='레벨업 패키지' or etc_str2='시즌패스') and etc_str1 like '%상점%'

order by first_login_date, ip_addr desc

 

 

 

조건1) case when 구문을 사용하여 레벨구간을 아래와 같이 구분해주시고, as 를 사용하여 컬럼이름을 ‘levelgroup’ 으로 설정해주세요.

 

[레벨구간]

◦ 1~10Lv 이하

◦ 11~20Lv 이하

◦ 21~30Lv 이하

◦ 31~40Lv 이하

◦ 41~50Lv 이하

◦ 51~60Lv 이하

◦ 61~70Lv 이하

◦ 71~80Lv 이하

◦ 81~90Lv 이하

◦ 91~100Lv

 

game_actor_id, level, levelgroup, first_login_date 컬럼을 추출해주시고, first_login_date를 기준으로 내림차순 정렬해주세요. 결과값은 아래와 같아야 합니다. 아래 그림은 전체 중 일부입니다.

 

select game_actor_id,

           level,

           levelgroup,

           first_login_date

from

(

select game_actor_id,

level,

first_login_date,

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 이하'

end 'levelgroup'

from users

order by first_login_date desc

)a

 

 

https://teamsparta.notion.site/SQL-SQL-2-a2e5667a29124be1a3ddd960c1d3e769

 

[SQL] 예제로 익히는 SQL - 2회차 | Notion

[강의자료 PDF]

teamsparta.notion.site