개발자공부일기
SQL 문법 문제(기초) Step9 본문
Table:patients
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
|
1.patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!
SELECT gender, COUNT(*) AS patient_count
FROM patients
GROUP BY gender
2.patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!
SELECT COUNT(*) AS 40_s
FROM patients
WHERE DATEDIFF(CURRENT_DATE, birth_date) >= 40 * 365
3.patients 테이블에서 마지막 방문 날짜(last_visit_date)가 1년 이상 된 환자들을 선택하는 쿼리를 작성해주세요!
SELECT *
FROM patients
WHERE DATEDIFF(CURRENT_DATE, last_visit_date) >= 365
4.patients 테이블에서 생년월일이 1980년대인 환자들의 수를 계산하는 쿼리를 작성해주세요!
#내 답
SELECT *
FROM patients
WHERE SUBSTR( birth_date,1,4)=1980
#Chat GPT
SELECT COUNT(*) AS count_1980s
FROM patients
WHERE birth_date BETWEEN '1980-01-01' AND '1989-12-31'
birth_date가 1980년 1월 1일과 1989년 12월 31일 사이인 환자의 수를 계산합니다. SUBSTR 대신 날짜 범위를 사용하는 것이 더 명확하고 효과적입니다.
'SQL문제 풀기' 카테고리의 다른 글
문제 풀어보기 (0) | 2024.12.06 |
---|---|
SQL 문법 문제(기초) Step10 (0) | 2024.10.25 |
SQL 문법 문제(기초) Step8 (0) | 2024.10.22 |
SQL 문법 문제(기초) Step7 (0) | 2024.10.21 |
SQL 문법 문제(기초) Step6 (0) | 2024.10.18 |