ORDER BY

๊ฒฐ๊ณผ TABLE์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฌธ๋ฒ•

SELECT
   select_list
FROM
   table_name
ORDER BY
   column1 [ASC|DESC],
   column2 [ASC|DESC],
   ...;

SELECT๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ ๊ฒฐ๊ณผ TABLE์„ ORDER BY๋ฌธ๋ฒ•์„ ํ†ตํ•ด ์ •๋ ฌํ•œ๋‹ค.

column1์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ(ASC) or ๋‚ด๋ฆผ์ฐจ์ˆœ(DESC)๋กœ ์ •๋ ฌํ•˜๊ณ , ๊ทธ ํ›„ column์ด ์žˆ๋‹ค๋ฉด ๊ธฐ๋ณธ ์ •๋ ฌ๋œ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋‹ค์Œ column์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.

์ •๋ ฌ ๋ฐฉ์‹์€ ๋ช…์‹œ์ ์œผ๋กœ ์ •๋ ฌํ•˜์ง€ ์•Š์•„๋„ ASC๋กœ ์ •๋ ฌ๋œ๋‹ค.

//์•„๋ž˜ ๋‘ ๋ฌธ๋ฒ•์€ ๋™์ผํ•˜๋‹ค.
ORDER BY column1;
ORDER BY column1 ASC;

ํ‘œํ˜„์‹์„ ํ†ตํ•œ COLUMN ์ •๋ ฌ

SELECT
    numberOfOrder,
    price,
    numberOfOrder * price
FROM
    table_name
ORDER BY
    numberOfOrder * price DESC;

๋ณ„์นญ(AS)๋ฅผ ์ด์šฉํ•ด column ์ •๋ ฌ

SELECT
    name AS first_name
FROM
    table_name
ORDER BY
    first_name DESC;

ํŠน์ • COLUMN์˜ ๊ฐ’์„ ์‚ฌ์šฉ์ž ์ง€์ • ๋ชฉ๋ก์œผ๋กœ ์ง€์ •

FIELD()ํ•จ์ˆ˜๋ฅผ ์ด์šฉ

orders๋ผ๋Š” TABLE์— status๋ผ๋Š” column์˜ ๊ฐ’์„ Start - In Process - Cancelled - End ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด FIELD()ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

SELECT
    orderNumber,
    status
FROM
    orders
ORDER BY
    FIELD(status,
        'Start',
        'In Process',
        'Cancelled',
        'End');

๋™์ž‘ ์ˆœ์„œ

FROM -> SELECT -> ORDER BY ์ˆœ์„œ๋กœ SELECTํ›„์— ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

Last updated