sql

* count() date_sub()

148june 2025. 1. 23. 14:10
id
name
birth_date
gender
last_visit_date
1
르탄이
1985-04-12
남자
2023-03-15
2
배캠이
1990-08-05
여자
2023-03-20
3
구구이
1982-12-02
여자
2023-02-18
4
이션이
1999-03-02
남자
2023-03-17

patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!

정답

더보기

SELECT gender, COUNT(*) FROM patients GROUP BY gender;

성별에 따른 환자수를 계산해야하므로 2개넣는다

 

patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!

정답

더보기

SELECT COUNT(*) FROM patients WHERE birth_date <= DATE_SUB(CURDATE(), INTERVAL 40 YEAR);

 

 

patients 테이블에서 마지막 방문 날짜(last_visit_date)가 1년 이상 된 환자들을 선택하는 쿼리를 작성해주세요!

정답

더보기

SELECT * FROM patients WHERE last_visit_date <= DATE_SUB(CURDATE(), INTERVAL 1 YEAR);

DATE_SUB이용해서 현재시간에서 1년차이 나는것만 뽑기

 

patients 테이블에서 생년월일이 1980년대인 환자들의 수를 계산하는 쿼리를 작성해주세요!

정답

더보기

SELECT COUNT(*) FROM patients WHERE birth_date BETWEEN '1980-01-01' AND '1989-12-31’;

between을 이용해서 1980-01-01 부터 12-31까지 기간설정