2024/10 45

Lv2. 날짜별 획득 포인트 조회하기

상황: 이번에는 이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.데이터 설명point_users 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블입니다.point_user_id: user_point 행을 구별하기 위한 key(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)user_id: 익명화된 유저들의 아이디(varchar255)point: 보유하고 있는 포인트(int)문제: 다음과 같은 결과테이블을 만들어봅시다.created_at: 익명화된 유저들의 아이디(var..

Lv1. 데이터 속 김서방 찾기

상황: 여러분들은 스파르타코딩클럽의 분석가로 취직했습니다. DBeaver를 테스트 해볼 겸 “김”씨로 시작하는 이용자들 수를 세어 보기로 했습니다.데이터 설명user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.user_id: 익명화된 유저들의 아이디(varchar255)created_at: 아이디 생성 날짜(timestamp)updated_at: 정보 업데이트 날짜(timestamp)name: 익명화된 유저들의 이름(varchar255)email: 이메일(varchar255) SELECT COUNT(DISTINCT user_id) 'name_cnt'FROM usersWHERE name LIKE '김%'  WHERE name LIKE '김%'  이름이 '김'으로 시작하..

엑셀보다 쉽고 빠른 SQL 5주차

1. 조회한 데이터에 아무 값이 없다면 어떻게 해야할까? (NULL)2. [실습] SQL로 PIVOT TABLE 만들어보기3. 업무 시작을 단축시켜주는 마법의 문법(Window Function -RANK,SUM)4. 날짜 포맷과 조건까지 SQL로 한 번에 끝내기 (포맷 함수)5. 숙제 및 후기1. 조회한 데이터에 아무 값이 없다면 어떻게 해야할까? (NULL)SELECT restaurant_name, AVG(rating) avg_rating, AVG(IF(rating'Not given',rating,NULL))FROM food_ordersGROUP BY restaurant_name; MySQL에서는 사용할수 없는값(문자열 등)을 0으로 치환 후 계산을 한다평균 값등 연산에 문제가 발생 할 수있다.그러므로..

10/18 TIL

오늘은 비가 와서 그런지 축 쳐지는 기분이다 ..오늘은 그동안 인강 들은 내용으로 퀘스트를 풀어보았다!역시 강의를 들은 후 풀니깐 시간도 많이 단축 되고문제를 보면서 SQL문을 쉽게 풀 수 있었따!오늘은 새로 배운 내용보다 복습 개념으로 학습했지만!남은 주말에는 SQL 5주차 내용 다 학습 후 퀘스트 조금씩 풀면서 더 복습해봐야겠따!오늘 사용한 새로운 함수!TIMESTAMPDIFF(unit,과거날짜, 최근날짜): 과거와 최근 날짜의 차를 unit(year,month,day,hour....)으로 지정된 단위로 반환.

TIL(Today I Learn) 2024.10.18

10) 이젠 테이블이 2개입니다.

다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다.employees 테이블iddepartment_idname1101르탄이2102배캠이3103구구이4101이션이 departments 테이블idname101인사팀102마케팅팀103기술팀  38번 문제현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요! 조건1 존재하고있는( employees  테이블중 departments 부서에 포함 것만! INNER JOIN)답)SELECT SUM(id)FROM departments d INNER JOIN employees e ON d.department_id=e. department_id id; 39번 문제모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주..

9. 아프면 안됩니다! 항상 건강 챙기세요!

의사가 있으면 당연히 의사에게 진료받는 환자가 있겠죠? 아래와 같은 patients(환자) 테이블이 있습니다.idnamebirth_dategenderlast_visit_date1르탄이1985-04-12남자2023-03-152배캠이1990-08-05여자2023-03-203구구이1982-12-02여자2023-02-184이션이1999-03-02남자2023-03-17 34번 문제 patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!  조건1. 각 성별별 (GROUP BY)  환자 수(SUM()답)SELECT gender, SUM(name) '환자 수'FROM patientsGROUP BY 1; 35번 문제patients 테이블에서 현재 나이가 40세 이상인 환자들의 ..

8. LOL을 하다가 홧병이 나서 병원을 찾아왔습니다.

이제, 아래와 같은 doctors(의사) 테이블이 있습니다.idnamemajorhire_date1르탄이피부과2018-05-102배캠이성형외과2019-06-153구구이안과2020-07-20 30번 문제- doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!  조건 1. 전공이 성형외과인 의사 이름 알아내기!(WHERE)답)SELECT nameFROM doctorsWHERE major='성형외과'; 31번 문제- doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!  조건 1. 각 전공별(GROUP BY)조건 2. 의사 수(SUM())답)SELECT major, SUM(name) '의사 수'FROM doctorsGROUP BY 1; 32..

10/17 TIL

이번주도 벌써 끝나간다.. 그런데 팀원들은 진도가 빠른거같은데 나만 너무 천천히 하는것 같다...좀더 열심히 좀더 많이 해야지 하는데.. 사전캠프 시간이 끝나면 집중이 풀려버린다.. 매일매일 오늘은 끝나고도더 공부해야지 하면서도.. 유튭 보면서 저녁 야무지게 먹으면 의욕이 떨어진다.. 킹치만 배고픈걸...오늘은 평소보다 공부양도 적었다... 근데 오늘은 평소보다 더 뿌듯한 느낌이다왜냐하면!!!! GPT없이 문제 풀었기 때문..ㅎㅎ ㅎㅎ ㅎㅎ오늘은 4주차 강의 마무리하고 숙제 까지 풀었는데 아주 맘에든다 뭐랄까 평소보다 이해가 잘된달까?이 느낌으로 언능 SQL끝내고 퀘스트도 와다다다 풀고싶다! 사전캠프기간이라도 집중!! 집중!! 취업을 위해선 더더더 열심히 해야겠다 오늘 티아옐 꿑~

TIL(Today I Learn) 2024.10.17