sungyup's.

PostgreSQL / SQL Basics / 2.6 Sorting

2.6Sorting

Basics of Sorting

sql
SELECT * FROM products ORDER BY price;

⇒ ascending(낮은 값 → 높은 값) 순으로 정렬.

Descending(높은 값 → 낮은 값) 순으로 정렬하려면 DESC 키워드 사용.

sql
SELECT * FROM products ORDER BY price DESC;

Two Variations on Sorting

정렬 시 같은 값들의 경우 다른 기준도 적용 가능

sql
SELECT * FROM products ORDER BY price, weight;

Offset and Limit

  • Offset : result set에서 생략할 열
sql
SELECT * FROM users OFFSET 40;

⇒ 1~40번 결과는 건너뛰고 표시

  • Limit : result set에서, 앞의 몇번째 열까지만 보여줄지
sql
SELECT * FROM users LIMIT 5;

Offset과 Limit은 Order와 주로 조합됨.

  • 예를 들어, 가장 비싼 5개의 제품
sql
SELECT * FROM products ORDER BY price DESC limit 5;
  • 비싼 제품 6등 ~ 10등
sql
SELECT * FROM products ORDER BY price DESC LIMIT 5 OFFSET 5;

유저들에게 모든 데이터를 보여주기에는 너무 데이터가 많은 경우, pagination할때 주로 쓰임

예를 들어, 첫 페이지에서는

sql
SELECT * FROM products ORDER BY price LIMIT 20 OFFSET 0;

두번째 페이지로 넘기면 OFFSET 20, 세번째 페이지로 넘기면 OFFSET 40 식