Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



ORDER BY 절

설명

ORDER BY 절은 질의 결과를 오름차순 또는 내림차순으로 정렬하며, ASC 또는 DESC와 같은 정렬 옵션을 명시하지 않으면 디폴트로 오름차순으로 정렬한다. ORDER BY 절을 지정하지 않으면, 조회되는 레코드의 순서는 질의에 따라 다르다.

구문

SELECT ...

ORDER BY {col_name | expr | position } [ASC | DESC],...]

    [ FOR <orderby_for_condition> ] ]

 

<orderby_for_condition> ::=

ORDERBY_NUM() { BETWEEN int AND int } |

    { { = | =< | < | > | >= } int } |

    IN ( int, ...)

  • col_name | expr | position : 정렬 기준이 되는 컬럼 이름, 표현식, 별칭 또는 컬럼 위치를 지정한다. 하나 이상의 값을 지정할 수 있으며 각 항목은 쉼표로 구분한다. SELECT 컬럼 리스트에 명시되지 않은 컬럼도 지정할 수 있다.
  • [ ASC| DESC ] : ASC은 오름차순, DESC은 내림차순으로 정렬하며, 정렬 옵션이 명시되지 않으면 오름차순으로 정렬한다.
예제

--selecting rows sorted by ORDER BY clause

SELECT * FROM sales_tbl ORDER BY dept_no DESC, name ASC;

      dept_no  name                  sales_month  sales_amount

==============================================================

          501  'Chang'                         5           150

          501  'Stephan'                       4           100

          501  'Sue'                           6           150

          301  'Max'                           4           300

          201  'George'                        1           450

          201  'Laura'                         2           500

         NULL  'Yoka'                          4          NULL

 

--sorting reversely and limiting result rows by LIMIT clause

SELECT dept_no AS a1, avg(sales_amount) AS a2 FROM sales_tbl

GROUP BY a1 ORDER BY a2 DESC LIMIT 0,3;

           a1           a2

==========================

          201          475

          301          300

          501          133

 

--sorting reversely and limiting result rows by FOR clause

SELECT dept_no AS a1, avg(sales_amount) AS a2 FROM sales_tbl

GROUP BY a1 ORDER BY a2 DESC FOR ORDERBY_NUM() BETWEEN 1 AND 3;

           a1           a2

==========================

          201          475

          301          300

          501          133