๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/132202
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๋ค์์ ์ข
ํฉ๋ณ์์ ์ง๋ฃ ์์ฝ์ ๋ณด๋ฅผ ๋ด์ APPOINTMENT ํ
์ด๋ธ ์
๋๋ค.
APPOINTMENT ํ
์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN, APNT_CNCL_YMD๋ ๊ฐ๊ฐ ์ง๋ฃ์์ฝ์ผ์, ์ง๋ฃ์์ฝ๋ฒํธ, ํ์๋ฒํธ, ์ง๋ฃ๊ณผ์ฝ๋, ์์ฌID, ์์ฝ์ทจ์์ฌ๋ถ, ์์ฝ์ทจ์๋ ์ง๋ฅผ ๋ํ๋
๋๋ค.
Column Name | Type | Nullable |
APNT_YMD | TIMESTAMP | FALSE |
APNT_NO | NUMBER(5) | FALSE |
PT_NO | VARCHAR(10) | FALSE |
MCDP_CD | VARCHAR(6) | FALSE |
MDDR_ID | VARCHAR(10) | FALSE |
APNT_CNCL_YN | VARCHAR(1) | TRUE |
APNT_CNCL_YMD | DATE | TRUE |
๋ฌธ์
APPOINTMENT ํ ์ด๋ธ์์ 2022๋ 5์์ ์์ฝํ ํ์ ์๋ฅผ ์ง๋ฃ๊ณผ์ฝ๋ ๋ณ๋ก ์กฐํํ๋ SQL๋ฌธ์ ์์ฑํด์ฃผ์ธ์. ์ด๋, ์ปฌ๋ผ๋ช ์ '์ง๋ฃ๊ณผ ์ฝ๋', '5์์์ฝ๊ฑด์'๋ก ์ง์ ํด์ฃผ์๊ณ ๊ฒฐ๊ณผ๋ ์ง๋ฃ๊ณผ๋ณ ์์ฝํ ํ์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๊ณ , ์์ฝํ ํ์ ์๊ฐ ๊ฐ๋ค๋ฉด ์ง๋ฃ๊ณผ ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
์์
APPOINTMENT ํ
์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ์ ๋
APNT _YMD |
APNT _NO |
PT_NO | MCDP _CD |
MDDR_ID | APNT_ CNCL_ YN |
APNT_ CNCL_ YMD |
2022-04-14 09:30:00. 000000 |
47 | PT22000064 | GS | DR20170123 | N | NULL |
2022-04-15 10:30:00. 000000 |
48 | PT22000065 | OB | DR20100231 | N | NULL |
2022-05-15 17:30:00. 000000 |
49 | PT22000086 | OB | DR20100231 | N | NULL |
2022-05-18 10:30:00. 000000 |
52 | PT22000019 | GS | DR20100039 | N | NULL |
2022-05-19 12:00:00. 000000 |
53 | PT22000020 | FM | DR20010112 | N | NULL |
2022-05-22 08:30:00. 000000 |
54 | PT22000021 | GS | DR20100039 | N | NULL |
2022-05-04 10:30:00. 000000 |
56 | PT22000023 | FM | DR20090112 | N | NULL |
2022-05-14 15:30:00. 000000 |
57 | PT22000074 | CS | DR20200012 | N | NULL |
2022-05-24 15:30:00. 000000 |
58 | PT22000085 | CS | DR20200012 | N | NULL |
2022-05-28 10:00:00. 000000 |
60 | PT22000092 | OS | DR20100031 | N | NULL |
SQL์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋์ด์ผ ํฉ๋๋ค.
์ง๋ฃ๊ณผ์ฝ๋ | 5์์์ฝ๊ฑด์ |
OB | 1 |
OS | 1 |
CS | 2 |
FM | 2 |
GS | 2 |
๋ด๊ฐ ์์ฑํ ์ฝ๋
SELECT MCDP_CD AS '์ง๋ฃ๊ณผ์ฝ๋', count(*) AS '5์์์ฝ๊ฑด์'
FROM APPOINTMENT
WHERE APNT_YMD LIKE '2022-05%'
GROUP BY ์ง๋ฃ๊ณผ์ฝ๋
ORDER BY 5์์์ฝ๊ฑด์, ์ง๋ฃ๊ณผ์ฝ๋;
์ฝ๋ ์ค๋ช
- SELECT MCDP_CD AS '์ง๋ฃ๊ณผ์ฝ๋', count(*) AS '5์์์ฝ๊ฑด์' : MCDP_CD ์ปฌ๋ผ์ '์ง๋ฃ๊ณผ์ฝ๋'๋ผ๋ ์ปฌ๋ผ๋ช ์ผ๋ก, ์์ฝ ๊ฑด์๋ฅผ '5์์์ฝ๊ฑด์' ์ปฌ๋ผ๋ช ์ผ๋ก ์ถ๋ ฅํ๋ค.
- FROM APPOINTMENT : APPOINTMENT ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
- WHERE APNT_TMD LIKE '2022-05%' : APNT_TMD ์ปฌ๋ผ์์ 2022๋ 5์์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์จ๋ค.
- GROUP BY ์ง๋ฃ๊ณผ์ฝ๋ : ์ง๋ฃ๊ณผ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ๋ค.
- ORDER BY 5์์์ฝ๊ฑด์, ์ง๋ฃ๊ณผ์ฝ๋ : 5์์์ฝ๊ฑด์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ, ๋์ผํ ๋ฐ์ดํฐ๋ค์ ์ง๋ฃ๊ณผ์ฝ๋ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ๋ค์ ํ๋ฒ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ฌ ์๊ณ ๋ฆฌ์ฆ ํ์ด(SQL)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค_์ธ๊ธฐ์๋ ์์ด์คํฌ๋ฆผ (0) | 2024.11.15 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค_12์ธ ์ดํ์ธ ์ฌ์ ํ์ ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ (4) | 2024.11.14 |
ํ๋ก๊ทธ๋๋จธ์ค_์ ์ ์๊ฐ ๊ตฌํ๊ธฐ(1) (0) | 2024.11.12 |
ํ๋ก๊ทธ๋๋จธ์ค_๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น (0) | 2024.11.11 |
์นดํ ๊ณ ๋ฆฌ ๋ณ ์ํ ๊ฐ์ ๊ตฌํ๊ธฐ (1) | 2024.11.08 |