SELECT ๋ณ์นญ1.*
FROM
( SELECT
(ROW_NUMBER() OVER (ORDER BY ๋ณ์นญ2.์นผ๋ผ๋ช
)) AS rownumber,
๋ณ์นญ2.*
FROM ํ
์ด๋ธ๋ช
๋ณ์นญ2
) ๋ณ์นญ1
WHERE ๋ณ์นญ1.rownumber > (#{page_no}-1)*#{page_size} AND ๋ณ์นญ1.rownumber <= #{page_no}*#{page_size}
- ๋ณ์นญ2๋ผ๋ ์๋ก์ด ํ ์ด๋ธ์ ๋ง๋ ๋ค rownum์ด๋ผ๋ ์นผ๋ผ์ ์๋ก ์์ฑ(ROW_NUMBER() ๋ถ๋ถ)ํ๊ณ , ๋ณ์นญ2์ ์นผ๋ผ๊ณผ ๋ฐ์ดํฐ๊ฐ๋ค์ ๋ชจ๋ ๋ฃ์ด์ค๋ค(๋ณ์นญ2.* ๋ถ๋ถ).
- ๊ทธ๊ฒ์ ๋ค์ ๋ณ์นญ1์ด๋ผ๊ณ ์ง์ ํ๋ค.
- ๊ทธ๋ฌ๋ฉด ๋ณ์นญ1์ ๊ธฐ์กด ํ ์ด๋ธ์ rownum ์นผ๋ผ์ด ํฉ์ณ์ง ํ ์ด๋ธ์ด ๋๋ค.
- ๊ทธ๋ค์ ๋ณ์นญ1์ rownumber ์นผ๋ผ ๊ฐ(order ๋์ด์์)์ ์ด์ฉํด ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ํ๊ณ
- ์นผ๋ผ ๊ฐ๋ค์ ๋ชจ๋ ์ถ๋ ฅํ๋ค.
'DBMS > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
INNER JOIN(JOIN) ๊ณผ LEFT JOIN์ ์ฐจ์ด์ (0) | 2022.04.27 |
---|---|
inner join ์ฌ์ฉํด์ ํ ์ด๋ธ ์ฐ๊ฒฐํ๊ธฐ (2) | 2021.10.19 |
group by๋ก ๋ฌถ์ด์ ๋ํ๋ด๊ธฐ (0) | 2021.10.19 |