데이터 분석/데이터 분석_SQL
[사전캠프] 7일차 SQL 걷기반 - ⑨
dataguard
2025. 2. 16. 15:12
9) 아프면 안됩니다! 항상 건강 챙기세요!
0. 테이블 만들기
34. patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!
SELECT gender,
COUNT(1) gender_cnt
FROM patients
GROUP BY gender;
35. patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!
SELECT COUNT(1) "40대 이상 환자"
FROM patients
WHERE TIMESTAMPDIFF(YEAR, birth_date, CURDATE()) >= 40;
##정답
SELECT COUNT(*)
FROM patients
WHERE birth_date <= DATE_SUB(CURDATE(), INTERVAL 40 YEAR);
36. patients 테이블에서 마지막 방문 날짜(last_visit_date)가 1년 이상 된 환자들을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM patients
WHERE TIMESTAMPDIFF(YEAR, last_visit_date, CURDATE()) >= 1 ;
## 정답
SELECT id, name, birth_date, gender, last_visit_date
FROM patients
WHERE last_visit_date <= DATE_SUB(CURDATE(), INTERVAL 1 YEAR);
37. patients 테이블에서 생년월일이 1980년대인 환자들의 수를 계산하는 쿼리를 작성해주세요!
SELECT count(1) "80년대생 환자 수"
FROM patients
WHERE DATE_FORMAT(birth_date, '%y') BETWEEN 80 AND 89;
##정답
SELECT COUNT(*)
FROM patients
WHERE birth_date BETWEEN '1980-01-01' AND '1989-12-31';