[250304 TIL#10] SQL 라이브세션 / 데이터 분석 파이썬 종합반 (1) / 3주차 프로그래밍 기초 발제, 팀 변경

강민지·2025년 3월 4일
1

데이터분석_TIL

목록 보기
10/81

SQL 라이브세션 (과제 복습)

문제 1.

  • 조건1) group by 절을 사용하여 서버별, 유저구분(기존/신규) 게임캐릭터id수를 구해주세요. 중복값을 허용하지 않는 고유한 갯수로 추출해주세요.
  • 조건2) 기존/신규 기준→ 첫 접속일자가 2024-01-01 보다 작으면(미만) 기존유저, 그렇지 않은 경우 신규유저
  • 조건3) 또한, 서버별/유저구분 기준 평균레벨을 함께 추출해주세요.

    정답 코드

group by 함수 뒤에는 select에서 정해준 별칭을 쓰는 것보다 case when ~ 처럼 원문 그대로 쓰는 게 더 좋음!

문제 2.

  • 조건1) users 테이블에서 서버번호가 2 이상인 데이터와 payment 테이블에서 결제방식이 CARD 모두를 만족하는 경우를 알맞은 방식으로 join 해 주세요.
  • 조건2) 조인한 결과를 바탕으로 users 테이블의 game_account_id 를 기준으로 game_actor_id수를 중복값없이 세고 컬럼 이름을 actor_cnt로 지정해주세요. 또한 pay_amount 값을 더해주시고, 컬럼 이름을 sumamount로 지정해주세요.
  • 조건3) having 을 사용하지 않고, 인라인 뷰 subquery 사용으로 actor_cnt수가 2 이상인 경우만 추출해주세요. 그리고 sumamount를 기준으로 내림차순 정렬해주세요.

    정답 코드

문제 3.

  • 조건1) user 테이블에서 game_account_id, first_login_date, serverno 를 추출한 결과와
  • 조건2) payment 테이블에서 game_account_id 별 가장 마지막 결제일자를 찾고 그 컬럼이름을 date2로 지정해주세요. 그 다음 inner join 을 진행해주세요. 다만, 첫 접속일자보다 마지막 결제일자가 큰 경우만 추출해주세요.
  • 조건3) 조인 결과를 바탕으로 마지막 결제일자-첫 접속일자 를 구해주세요. 그리고 컬럼이름을 diffdate로 설정해주세요. 두 날짜의 형식은 같아야 합니다.
  • 조건4) 인라인 뷰 subquery 를 이용하여 서버별 평균 diffdate를 구해주시고, 컬럼이름을avgdiffdate로 설정해주세요. 해당컬럼은 정수 형태로 출력되어야 합니다.
  • 조건5) 조건절에 diffdate 값이 10일 이상인 경우를 필터링해주세요. 그리고 서버번호를 기준으로 내림차순 정렬해주세요. 결과값은 아래와 같아야 합니다. 전체결과 중 일부입니다.
  • 힌트) 소수점을 반올림해주는 round 함수를 활용해주세요!

    정답 코드


데이터분석 파이썬 종합반 (1)

환경 설치

주피터노트북, VScode 등 웬만한 건 이미 대학 수업 들으면서 노트북에 설치를 해두었다. 구글 코랩(Colaboratory)은 작년에 BDA 공모전 준비를 하면서 사용한 적이 있는데, 아직 익숙하지는 않아서 이번 수업을 듣는 동안 많이 사용해봐야겠다.

Colaboratory
- 구글 드라이브 환경에서 사용 가능
- 단축키 (주피터랑 비슷함)

	- shift + enter : 실행
	- ctrl + m + a : 코드 셀 추가
	- ctrl + m + d : 코드 셀 삭제
	- ctrl + m + -(하이픈) : 코드 셀 분할
	- ctrl + m + m : 코드셀을 마크다운셀로 변경

출력문

print..... 이건 너무 쉬우니까 패스 ^^;;

변수, 데이터 타입(자료형)

  • 변수 선언... 이것도 패스
  • 주요 자료형
    • Numeric type: Integers, Floats, Complex
    • Dictionary
    • Sequence type: List, Tuple, Strings
    • Set

프로그래밍 기초 주차 START (feat. 팀 변경)

지난 1,2주차에 걸쳐서 온보딩 주차가 끝났다. 온보딩 주차 동안은 SQL 위주의 공부를 해서 기초 수준은 뗄 수 있었던 것 같다. 앞으로 코드카타로 SQL 공부 꾸준히 해야겠다. (안그래도 금요일쯤에 쿼리테스트를 한다는 이야기가 있다.)

팀이 바뀌었다. 13조로 배정 받았는데,, 새로운 팀원분들을 보니까 이전 조 분위기가 정말 정적이었다는 걸 새삼 느꼈다. 구 팀원분들께 분위기 어떠냐고 물어보니까 다들 비슷한 눈치였다..ㅋㅋㅋ 내향인들 사이에선 외향인이지만 찐외향인들 사이에선 내향인이 되는 나로서는 기빨리면서 재밌다,, 다들 으쌰으쌰하면서 공부하는(?) 분위기라 재밌게 할 수 있을 것 같음! 팀프로젝트가 기대된다.

4월 5일에 있을 빅분기 필기 시험에 접수했다. 이제 좀 더 공부 계획을 타이트하게 짜서 부트캠프 공부랑 자격증 시험 준비를 같이 빡세게 해봐야겠다.
오늘 새 팀원들과 이야기하면서 내가 진도를 많이 못 뺐다는 걸 깨달았다. 코드카타도 너무 찔끔씩하고, 강의도 너무 적게 들은 것 같다. 더 열심히 해서 따라가야겠다.

0개의 댓글