본문 바로가기

ORDER BY 절에서 사용할 수 있는 몇 가지 옵션

반응형

ORDER BY 절에서 사용할 수 있는 몇 가지 옵션은 다음과 같습니다:

1. 정렬 방향:

  • ASC (오름차순): 작은 값부터 큰 값으로 정렬합니다. 예: ORDER BY id ASC
  • DESC (내림차순): 큰 값부터 작은 값으로 정렬합니다. 예: ORDER BY id DESC

2. 복수의 컬럼을 기준으로 정렬:

여러 컬럼을 기준으로 정렬할 수 있습니다. 예를 들어, id와 name을 기준으로 정렬하려면:

ORDER BY id DESC, name ASC;

3. 숫자, 문자, 날짜 등 여러 타입의 컬럼 정렬:

컬럼 타입에 따라 정렬 방식이 조금 다를 수 있습니다. 숫자는 기본적으로 크기 순서대로, 문자는 알파벳 순으로 정렬됩니다. 날짜는 오래된 날짜부터 최신 날짜까지 정렬 가능합니다.

ORDER BY created_at DESC;  -- 날짜 기준 내림차순 정렬

4. 특정 조건으로 정렬:

조건부로 정렬할 수 있습니다. 예를 들어, CASE 문을 사용하여 특정 조건을 기준으로 정렬할 수 있습니다:

ORDER BY CASE 
           WHEN status = 'active' THEN 1 
           WHEN status = 'inactive' THEN 2 
         END, id DESC;

5. LIMIT과 함께 사용:

ORDER BY는 LIMIT과 함께 자주 사용됩니다. 예를 들어, 최근 항목 10개만 선택하려면:

SELECT * FROM table_name ORDER BY id DESC LIMIT 10;

 

SQL에서 데이터를 랜덤하게 정렬하려면 ORDER BY 절에 랜덤 함수인 RAND() (MySQL) 또는 RANDOM() (PostgreSQL, SQLite)을 사용할 수 있습니다. 이 함수는 각 행에 대해 무작위 값을 생성하고, 그 값을 기준으로 정렬하여 데이터를 랜덤하게 출력할 수 있습니다.

MySQL에서 랜덤 정렬:

SELECT * FROM table_name ORDER BY RAND();

PostgreSQL에서 랜덤 정렬:

SELECT * FROM table_name ORDER BY RANDOM();

SQLite에서 랜덤 정렬:

SELECT * FROM table_name ORDER BY RANDOM();

랜덤 정렬은 보통 일부 랜덤 샘플을 선택하거나 데이터를 무작위 순서로 표시해야 할 때 사용됩니다. 필요한 경우 LIMIT과 함께 사용할 수 있습니다:

예시 (MySQL):

SELECT * FROM table_name ORDER BY RAND() LIMIT 10;

이 쿼리는 테이블에서 무작위로 10개의 행을 선택합니다.

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.