Skip to main content
orderBy๋Š” ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ํŠน์ • ์ปฌ๋Ÿผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ์˜ค๋ฆ„์ฐจ์ˆœ(ASC) ๋˜๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ(DESC)์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

์˜ค๋ฆ„์ฐจ์ˆœ (ASC)

๋‚ด๋ฆผ์ฐจ์ˆœ (DESC)

์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ ์ •๋ ฌ

orderBy๋ฅผ ์ฒด์ด๋‹ํ•˜์—ฌ ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ •๋ ฌ ์šฐ์„ ์ˆœ์œ„:
  1. ์ฒซ ๋ฒˆ์งธ orderBy - ์ฃผ ์ •๋ ฌ
  2. ๋‘ ๋ฒˆ์งธ orderBy - ๋ถ€ ์ •๋ ฌ (์ฃผ ์ •๋ ฌ์ด ๊ฐ™์„ ๋•Œ)
  3. ์„ธ ๋ฒˆ์งธ orderBy - ์‚ผ์ฐจ ์ •๋ ฌ (๋ถ€ ์ •๋ ฌ๋„ ๊ฐ™์„ ๋•Œ)

NULL ์ •๋ ฌ ์ˆœ์„œ (nulls)

์„ธ ๋ฒˆ์งธ ์ธ์ž nulls๋กœ NULL ๊ฐ’์˜ ์ •๋ ฌ ์œ„์น˜๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
nulls ์˜ต์…˜:

๋ฐฐ์—ด ํ˜•ํƒœ์˜ orderBy

์—ฌ๋Ÿฌ ์ •๋ ฌ ์กฐ๊ฑด์„ ๋ฐฐ์—ด๋กœ ํ•œ ๋ฒˆ์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐฐ์—ด์˜ ๊ฐ ํ•ญ๋ชฉ์€ ๋‹ค์Œ ํ˜•ํƒœ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค:
  • ๋ฌธ์ž์—ด: ์ปฌ๋Ÿผ๋ช…๋งŒ ์ „๋‹ฌ (๊ธฐ๋ณธ ASC)
  • SqlExpression: SQL ํ‘œํ˜„์‹
  • ๊ฐ์ฒด: { column, order?, nulls? } ํ˜•ํƒœ๋กœ ์ƒ์„ธ ์ง€์ •

์‹ค์ „ ์˜ˆ์‹œ

์กฐ์ธ๋œ ํ…Œ์ด๋ธ” ์ •๋ ฌ

์กฐ์ธํ•œ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์œผ๋กœ๋„ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํ…Œ์ด๋ธ” ์กฐ์ธํ•˜๊ธฐ