orderBy๋ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํน์ ์ปฌ๋ผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ ๋ฉ์๋์
๋๋ค. ์ค๋ฆ์ฐจ์(ASC) ๋๋ ๋ด๋ฆผ์ฐจ์(DESC)์ผ๋ก ์ ๋ ฌํ ์ ์์ผ๋ฉฐ, ์ฌ๋ฌ ์ปฌ๋ผ์ผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์ค๋ฆ์ฐจ์ (ASC)
๋ด๋ฆผ์ฐจ์ (DESC)
์ฌ๋ฌ ์ปฌ๋ผ ์ ๋ ฌ
orderBy๋ฅผ ์ฒด์ด๋ํ์ฌ ์ฌ๋ฌ ์ปฌ๋ผ์ผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ
orderBy- ์ฃผ ์ ๋ ฌ - ๋ ๋ฒ์งธ
orderBy- ๋ถ ์ ๋ ฌ (์ฃผ ์ ๋ ฌ์ด ๊ฐ์ ๋) - ์ธ ๋ฒ์งธ
orderBy- ์ผ์ฐจ ์ ๋ ฌ (๋ถ ์ ๋ ฌ๋ ๊ฐ์ ๋)
NULL ์ ๋ ฌ ์์ (nulls)
์ธ ๋ฒ์งธ ์ธ์nulls๋ก NULL ๊ฐ์ ์ ๋ ฌ ์์น๋ฅผ ๋ช
์ํ ์ ์์ต๋๋ค.
nulls ์ต์
:
๋ฐฐ์ด ํํ์ orderBy
์ฌ๋ฌ ์ ๋ ฌ ์กฐ๊ฑด์ ๋ฐฐ์ด๋ก ํ ๋ฒ์ ์ ๋ฌํ ์ ์์ต๋๋ค.- ๋ฌธ์์ด: ์ปฌ๋ผ๋ช ๋ง ์ ๋ฌ (๊ธฐ๋ณธ ASC)
- SqlExpression: SQL ํํ์
- ๊ฐ์ฒด:
{ column, order?, nulls? }ํํ๋ก ์์ธ ์ง์
์ค์ ์์
- ์ต์ ์
- ์ํ๋ฒณ์
- ๋ณตํฉ ์ ๋ ฌ
- ์ซ์ ์ ๋ ฌ
- NULL ์ฒ๋ฆฌ
์กฐ์ธ๋ ํ ์ด๋ธ ์ ๋ ฌ
์กฐ์ธํ ํ ์ด๋ธ์ ์ปฌ๋ผ์ผ๋ก๋ ์ ๋ ฌํ ์ ์์ต๋๋ค.SELECT ๋ณ์นญ์ผ๋ก ์ ๋ ฌ
SELECT์์ ์ง์ ํ ๋ณ์นญ์ผ๋ก๋ ์ ๋ ฌํ ์ ์์ต๋๋ค.์ง๊ณ ํจ์ ์ ๋ ฌ
GROUP BY์ ํจ๊ป ์ง๊ณ ํจ์ ๊ฒฐ๊ณผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค.SQL ํํ์์ผ๋ก ์ ๋ ฌ
orderBy๋ ์ปฌ๋ผ๋ช
๋์ SqlExpression<"number"> ๋๋ SqlExpression<"string">์ ๋ฐ์ ์ ์์ต๋๋ค. ์ ๋ฌธ ๊ฒ์ ์์, ์ ์ฌ๋ ์ ์ ๋ฑ ๊ณ์ฐ๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ ์ฌ์ฉํฉ๋๋ค.
๊ฒ์ ์์ ๊ธฐ์ค ์ ๋ ฌ
์ ์ฌ๋ ์ ์ ๊ธฐ์ค ์ ๋ ฌ
rawNumber๋ก ์ปค์คํ ์ ๋ ฌ
SQL ํํ์์ ์ฌ์ฉํ ๋๋ ๋ด๋ถ์ ์ผ๋ก
orderByRaw๊ฐ ์คํ๋๋ฉฐ, ํ๋ผ๋ฏธํฐ ๋ฐ์ธ๋ฉ์ด ์๋์ผ๋ก
์ ์ฉ๋ฉ๋๋ค.์ ๋ ฌ ๋ฐฉํฅ
ASC (์ค๋ฆ์ฐจ์)
- ์ซ์: ์์ ๊ฐ โ ํฐ ๊ฐ
- ๋ฌธ์: A โ Z, ๊ฐ โ ํ
- ๋ ์ง: ๊ณผ๊ฑฐ โ ๋ฏธ๋
- NULL: ๋ง์ง๋ง
DESC (๋ด๋ฆผ์ฐจ์)
- ์ซ์: ํฐ ๊ฐ โ ์์ ๊ฐ
- ๋ฌธ์: Z โ A, ํ โ ๊ฐ
- ๋ ์ง: ๋ฏธ๋ โ ๊ณผ๊ฑฐ
- NULL: ๋ง์ง๋ง
๊ธฐ๋ณธ๊ฐ์ ASC์
๋๋ค. ๋ฐฉํฅ์ ์ง์ ํ์ง ์์ผ๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
์ฑ๋ฅ ์ต์ ํ
1. ์ธ๋ฑ์ค ํ์ฉ
2. LIMIT๊ณผ ํจ๊ป ์ฌ์ฉ
3. ๋ณตํฉ ์ธ๋ฑ์ค
์ฌ๋ฌ ์ปฌ๋ผ์ผ๋ก ์ ๋ ฌํ ๋๋ ๋ณตํฉ ์ธ๋ฑ์ค๊ฐ ํ์ํฉ๋๋ค.์ฃผ์์ฌํญ
1. ์ ๋ ฌ ์์
2. NULL ๊ฐ
3. ๋์๋ฌธ์ ๊ตฌ๋ถ
4. ์ฑ๋ฅ ์ํฅ
ํ์ ์์ ์ฑ
orderBy๋ ํ์
์์ ํ๊ฒ ์ปฌ๋ผ์ ๊ฒ์ฆํฉ๋๋ค.
๋ค์ ๋จ๊ณ
limit
๊ฒฐ๊ณผ ๊ฐ์ ์ ํํ๊ธฐ
where
์กฐ๊ฑด ํํฐ๋งํ๊ธฐ
select
์กฐํํ ํ๋ ์ ํํ๊ธฐ
join
ํ
์ด๋ธ ์กฐ์ธํ๊ธฐ