์์ฉ์ธ์ด : MYSQL
LEVEL : 3
๋ฌธ์ : ์กฐํ์๊ฐ ๊ฐ์ฅ ๋ง์ ์ค๊ณ ๊ฑฐ๋ ๊ฒ์ํ์ ์ฒจ๋ถํ์ผ ์กฐํํ๊ธฐs://schoo
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ํ์ด
SELECT
CONCAT('/home/grep/src/', B.BOARD_ID , '/', B.FILE_ID , B.FILE_NAME,B.FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD A
JOIN USED_GOODS_FILE B
ON A.BOARD_ID = B.BOARD_ID
WHERE A.VIEWS = (SELECT
MAX(VIEWS)
FROM USED_GOODS_BOARD)
ORDER BY B.FILE_ID DESC;
- CONCAT์ ์ฌ์ฉํด FILE_PATH๋ฅผ ๋ฌธ์ ์์ ์ํ๋ ํํ๋ก ๋ง๋ค์๋ค.
- ์กฐ์ธ์ ์ฌ์ฉํด A์ B๋ฅผ ๋ฌถ๊ณ , ์ต๋๊ฐ์ ๊ฐ์ ธ์ค๋ ํจ์์ธ MAXํจ์๋ฅผ ์ฌ์ฉํด์ ์กฐํ์๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์๊ธ ํ๋๋ง์ ๋ฝ์๋๋ค.
- ํ์ผ ์์ด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ๋ก ๋ง๋ฌด๋ฆฌ ํ๋ค.
ํ๊ธฐ
๋ฌธ์ ๋ฅผ ๋ค ํ๊ณ ๋ต์ ํ์ธํด๋ณด๋, JOIN์ ์ฌ์ฉํ์ง ์๊ณ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค๊ณ ํ๋ค.
์๋๋ ์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ํ์ด๋ฐฉ๋ฒ
SELECT
CONCAT('/home/grep/src/', BOARD_ID, '/', FILE_ID, FILE_NAME, FILE_EXT) AS FILE_PATH
FROM USED_GOODS_FILE
WHERE BOARD_ID = (
SELECT BOARD_ID
FROM USED_GOODS_BOARD
ORDER BY VIEWS DESC
LIMIT 1
)
ORDER BY FILE_ID DESC;
๋๊ธ