데이터 분석/데이터 분석_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';