Skip to main content
Order results using the ORDER BY clause.

Basic Syntax

:GET Entity ORDER BY field
:GET Entity ORDER BY field ASC
:GET Entity ORDER BY field DESC

Ascending Order (Default)

:GET User ORDER BY name
:GET User ORDER BY name ASC
DatabaseOutput
PostgreSQLSELECT * FROM users ORDER BY name ASC
MySQLSELECT * FROM users ORDER BY name ASC
MongoDBdb.users.find({}).sort({ name: 1 })

Descending Order

:GET User ORDER BY created_at DESC
DatabaseOutput
PostgreSQLSELECT * FROM users ORDER BY created_at DESC
MongoDBdb.users.find({}).sort({ created_at: -1 })

Multiple Columns

:GET User ORDER BY status ASC, created_at DESC
DatabaseOutput
PostgreSQLSELECT * FROM users ORDER BY status ASC, created_at DESC
MongoDBdb.users.find({}).sort({ status: 1, created_at: -1 })

Expressions in ORDER BY

Sort by calculated values or function results.
:GET Product ORDER BY price * quantity DESC
:GET User ORDER BY UPPER(name) ASC
DatabaseOutput
PostgreSQLSELECT * FROM products ORDER BY price * quantity DESC
MySQLSELECT * FROM products ORDER BY price * quantity DESC

Function in ORDER BY

:GET User ORDER BY LENGTH(name) DESC
DatabaseOutput
PostgreSQLSELECT * FROM users ORDER BY LENGTH(name) DESC
MongoDBdb.users.aggregate([{ $addFields: { nameLen: { $strLenCP: '$name' } } }, { $sort: { nameLen: -1 } }])

With WHERE Clause

:GET User WHERE active = true ORDER BY name ASC
DatabaseOutput
PostgreSQLSELECT * FROM users WHERE active = true ORDER BY name ASC
MongoDBdb.users.find({ active: true }).sort({ name: 1 })

With LIMIT

:GET User ORDER BY created_at DESC LIMIT 10
DatabaseOutput
PostgreSQLSELECT * FROM users ORDER BY created_at DESC LIMIT 10
MongoDBdb.users.find({}).sort({ created_at: -1 }).limit(10)

Pagination Pattern

:GET User ORDER BY id ASC LIMIT 20 OFFSET 40
DatabaseOutput
PostgreSQLSELECT * FROM users ORDER BY id ASC LIMIT 20 OFFSET 40
MongoDBdb.users.find({}).sort({ id: 1 }).skip(40).limit(20)

Complete Example

:GET id, name, email, created_at FROM User 
  WHERE status = "active" 
  AND role IN ("user", "premium")
  ORDER BY created_at DESC, name ASC 
  LIMIT 25 
  OFFSET 50

Next Steps