๋ฌธ์ ์ค๋ช
ANIMAL_INS ํ ์ด๋ธ์ ๋๋ฌผ ๋ณดํธ์์ ๋ค์ด์จ ๋๋ฌผ์ ์ ๋ณด๋ฅผ ๋ด์ ํ ์ด๋ธ์ ๋๋ค. ANIMAL_INS ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE๋ ๊ฐ๊ฐ ๋๋ฌผ์ ์์ด๋, ์๋ฌผ ์ข , ๋ณดํธ ์์์ผ, ๋ณดํธ ์์ ์ ์ํ, ์ด๋ฆ, ์ฑ๋ณ ๋ฐ ์ค์ฑํ ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค.
NAMETYPENULLABLE
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
INTAKE_CONDITION | VARCHAR(N) | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE |
๋๋ฌผ ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ์ด๋ฆ์ ์กฐํํ๋ SQL ๋ฌธ์ ์์ฑํด์ฃผ์ธ์.
์์
์๋ฅผ ๋ค์ด ANIMAL_INS ํ ์ด๋ธ์ด ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE
A399552 | Dog | 2013-10-14 15:38:00 | Normal | Jack | Neutered Male |
A379998 | Dog | 2013-10-23 11:42:00 | Normal | Disciple | Intact Male |
A370852 | Dog | 2013-11-03 15:04:00 | Normal | Katie | Spayed Female |
A403564 | Dog | 2013-11-18 17:03:00 | Normal | Anna | Spayed Female |
์ด ์ค ๊ฐ์ฅ ๋ณดํธ์์ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ Jack์ ๋๋ค. ๋ฐ๋ผ์ SQL๋ฌธ์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋์์ผ ํฉ๋๋ค.
NAME
Jack |
โป ๋ณดํธ์์ ๊ฐ์ฅ ๋จผ์ ๋ค์ด์จ ๋๋ฌผ์ ํ ๋ง๋ฆฌ์ธ ๊ฒฝ์ฐ๋ง ํ ์คํธ ์ผ์ด์ค๋ก ์ฃผ์ด์ง๋๋ค.
์์ ์ MySQL๋ก ํ์์ ๋๋
SELECT NAME FROM ANIMAL_INS
ORDER BY DATETIME LIMIT 1
์ด๋ ๊ฒ ํ์์๋ค. ๊ต์ฅํ ๊น๋.
ํํ์ฌ์์ ORACLE์ ์ฌ์ฉํ๊ณ ์์ด์, ์ง๊ธ์ ORACLE์ด ํจ~ ์ต์ํ๋ฐ
MySQL์ฒ๋ผ ๊น๋ํ๊ฒ ๋ฑ ๊ตฌํ๋๊ฒ ์์๋? ํ๋ฉฐ RANKํจ์๋ฅผ ๋ ์ฌ๋ ธ์ง๋ง...
์ฐพ์๋ณด๋ ์๊ฐ๋ณด๋ค ๋ณต์กํ๋ค. RANK๋ฅผ ์ธ์์ ์ฌ์ฉํ๋๋, ๋งํธํ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ด์ฉํ๋๊ฒ ๋ ๋์ ๊ฒ ๊ฐ๋ค.
์ํผ, 2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ดค๋ค.
1.
DATETIME์ผ๋ก ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์ค ๊ฐ์ฅ ์ฒซ ๋ฒ์งธ ROW ๋ฝ์์ค๊ธฐ
SELECT NAME
FROM (SELECT *
FROM ANIMAL_INS
ORDER BY DATETIME)
WHERE ROWNUM=1
2. ์๋ธ์ฟผ๋ฆฌ2
MIN(DATETIME) ๊ณผ ๊ฐ์ DATETIME์ ๊ฐ์ง๊ณ ์๋ NAME ๋ฝ์๋ด๊ธฐ
SELECT NAME
FROM ANIMAL_INS
WHERE DATETIME = (SELECT MIN(DATETIME)
FROM ANIMAL_INS
)