ํด๋น ๊ธ์ Programmers ์ฝ๋ฉํ ์คํธ ์ฐ์ต์ ํ ๋๋ก MYSQL ๋ก ์์ฑ๋์์ต๋๋ค.
Q ๋ฌธ์ : ์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(2)
A ๋ฌธ์ ํ์ด:
-- ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์
SELECT I.ANIMAL_ID, I.NAME
FROM ANIMAL_INS I
LEFT JOIN ANIMAL_OUTS O ON I.ANIMAL_ID=O.ANIMAL_ID
WHERE O.ANIMAL_ID IS NOT NULL
ORDER BY DATEDIFF(O.DATETIME,I.DATETIME) DESC LIMIT 2 ;
|
ํด๋น๋ฌธ์ ๋ ์ ์ ๊ฐ ๋๋ฌผ ์ค, ๋ณดํธ ๊ธฐ๊ฐ์ด ๊ฐ์ฅ ๊ธธ์๋ ๋๋ฌผ ๋๋ง๋ฆฌ๋ฅผ ์ฐพ๋ ๊ฒ์ด๋ค.
์ฆ, ์ ์ ๊ฐ ๋๋ฌผ์ด๋ฏ๋ก ๋๋ฌผ ๋ณดํธ์์์ ์ ์ ๋ณด๋ธ ๋๋ฌผ์ด์ด์ผ ๋๊ณ ๋์์
๋ณดํธ๊ธฐ๊ฐ ( ๋ณดํธ์ ๋ค์ด์จ ๋ - ๋ณดํธ์์์ ๋๊ฐ ๋ )์ด ๊ฐ์ฅ ๊ธด ๋๋ฌผ ๋ ๋ง๋ฆฌ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
E ์์ธํ ์ค๋ช
๋จผ์ , ์ ์ ๊ฐ ๋๋ฌผ๋ค์ ANIMAL_OUTS ์ ์ด๋ฆ์ด ์์ผ๋ฉด ๋๋ค.
์ฆ, ANIMAL_OUTS(์ ์ ๋ณด๋ธ ๋๋ฌผ ํ ์ด๋ธ)์ ์ด๋ฆ์ด ๊ผญ ์์ด์ผ ํ๋ฏ๋ก
์กฐ๊ฑด๋ฌธ(WHERE) ์ ANIMAL_ID์ NULL๊ฐ์ด ์๋์ด๋ผ ๋ผ๋ ์กฐ๊ฑด์ ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณดํธ๊ธฐ๊ฐ์ด ๊ฐ์ฅ ๊ธด ๋ ์ ์ฐพ์์ผ ํ๋ฏ๋ก
๋ณดํธ์์ ๋ค์ด์จ ๋ ๊ณผ ๋ณดํธ์์ ๋๊ฐ ๋ ์ ์ฐจ์ด๋ฅผ ์ถ๋ ฅํด์ฃผ๋ DATEDIFF๋ฅผ ์ฌ์ฉํ๋ค.
DATEDIFF์ฌ์ฉ๋ฒ
-- ๋ ์ง1 - ๋ ์ง2
DATEDIFF(๋ ์ง1,๋ ์ง2)
์ ๋ ฌ์ ๋ฐ๋ผ ์ํ๋ ๊ฒฐ๊ณผ ๊ฐ์ ์ป์ ์ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก
๋๋๋ ๋ ์ง - ์์ํ ๋ ์ง ๋ฅผ ํด์ผ ์์ ๊ฐ์ ์ป๊ณ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ์ ํ๋ฉด
๊ธฐ๊ฐ์ด ํฐ ๋ ์ง๋ถํฐ ์์๋๋ก ์ถ๋ ฅํ ์ ์๋ค.
(์ค๋ช
์ ์ง์ ์ด ๋๋ ๋๋
์ฆ์ด...) ํท๊ฐ๋ฆฌ๋ ๋ฐ์ ์ฌ์ง์ ์ฐธ๊ณ ํด๋ณด์.
๋ ์ง์ฐจ์ด1 : DATEDIFF(๋ณดํธ์ ๋๊ฐ ๋ ์ง , ๋ณดํธ์ ๋ค์ด์จ ๋ ์ง)
๋ ์ง์ฐจ์ด2 : DATEDIFF(๋ณดํธ์ ๋ค์ด์จ ๋ ์ง , ๋ณดํธ์ ๋๊ฐ ๋ ์ง)
โป ์ฐธ๊ณ ๋ก ์ ๊ฒฐ๊ณผ๊ฐ์ ORDERBY ๋ ์ง์ฐจ์ด1 DESC ๋ด๋ฆผ์ฐจ์์ ํ๋ค. (์ ๋ ฌ ๊ธฐ๋ณธ๊ฐ์ ASC ์ค๋ฆ์ฐจ์ ์ด๋ค.)
'ํ์ ๊ด๊ณ ์ธ > ๊ฐ์ข ๊ฟํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋์ฝ๋ค3 ์ค์น Setting up the package cache (0) | 2023.01.10 |
---|---|
MYSQL ๋ ์ง ํฌ๋งท (0) | 2021.02.25 |
MYSQL ์ฝ๋ฉํ ์คํธ์ฐ์ต: REGEXP ์ ๊ทํํ์ (0) | 2021.02.16 |
MYSQL ์ฝ๋ฉํ ์คํธ์ฐ์ต: ๋ณดํธ์์์ ์ค์ฑํํ ๋๋ฌผ (0) | 2021.02.16 |
MYSQL ์ฝ๋ฉํ ์คํธ์ฐ์ต: ์ค๋๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ (0) | 2021.02.14 |