SQL REFERENCE

Sorting & Limits

Order result sets, limit output, and control NULL positioning.

ORDER BY

SELECT id, name FROM t ORDER BY id ASC;
SELECT id, name FROM t ORDER BY id DESC;

Multi-Key Sorting

SELECT a, b, c FROM t ORDER BY a ASC, b DESC;
SELECT a, b, c FROM t ORDER BY a DESC, b ASC;

Sort by Expression

SELECT id, val * -1.0 AS neg_val FROM t ORDER BY neg_val ASC;

Sort by Column Position

SELECT id, name FROM t ORDER BY 1 ASC;

LIMIT and OFFSET

SELECT id, name FROM t ORDER BY id LIMIT 3;
-- First 3 rows

SELECT id, name FROM t ORDER BY id LIMIT 2 OFFSET 2;
-- Skip 2, take 2: rows 3 and 4

NULLS FIRST / NULLS LAST

SELECT val FROM t ORDER BY NULLIF(val, 50.0) ASC NULLS FIRST LIMIT 1;
-- 50.0 (NULL sorts first)

SELECT val FROM t ORDER BY NULLIF(val, 50.0) ASC NULLS LAST LIMIT 1;
-- 1.0 (NULL sorts last)

SELECT val FROM t ORDER BY NULLIF(val, 50.0) DESC NULLS FIRST LIMIT 1;
-- 50.0

ORDER BY with GROUP BY

SELECT cat, SUM(val) AS total
FROM sortable GROUP BY cat ORDER BY total ASC;
-- a: 30.0, c: 40.0, b: 80.0