Preamble
PostgreSQL ORDER BY statement is used to sort records in your result set. ORDER BY can only be used in the SELECT operator.
The syntax for ORDER BY statement in PostgreSQL
SELECT_id
FROM tabs
[WHERE conds]
ORDER BY expression_id [ASC | DESC | USING operator] [NULLS FIRST | NULLS LAST];
Parameters and arguments of the statement
- expressions_id – The table or calculations that you want to get.
- tabs – The tables from which you want to get the records. The FROM operator must specify at least one table.
- WHERE conds – Optional. The conditions that must be met for the entries to be selected.
- ASC – Optional. It sorts the reuser set in ascending order (by default, if no modifier is specified).
- DESC is optional. It sorts the result set in descending order by.
- NULLS FIRST – Optional. If specified, all NULL values are sorted before values other than NULL in the resulting set.
- NULLS LAST – Optional. If specified, all NULL values are sorted after values other than NULL in the resulting set.
Note:
- If the ASC or DESC modifier is not specified in ORDER BY, the results will be sorted by expression in ascending order. This is equivalent to ORDER BY expression ASC.
Sorting without using the ASC / DESC attribute
PostgreSQL operator ORDER BY can be used without ASC or DESC modifier. When this attribute is omitted in ORDER BY operator, the sort order is set to ASC (in ascending order) by default.
For example:
SELECT last_name, first_name
FROM contacts
WHERE state = 'California'
ORDER BY last_name;
This example will return all records sorted by last_name field in ascending order and will be equivalent to the next ORDER BY operator:
SELECT last_name, first_name
FROM contacts
WHERE state = 'California'
ORDER BY last_name ASC;
Most programmers skip the ASC attribute when sorting in ascending order.
Sorting in descending order
When sorting a set of results in descending order, you use the DESC attribute in ORDER BY as follows:
SELECT last_name, first_name, city
FROM contacts
WHERE first_name = 'Nikol'
ORDER BY last_name DESC;
In this PostgreSQL example, ORDER BY will return all records sorted by the last_name field in descending order.
Sort by the relative position
You can also use PostgreSQL operator ORDER BY to sort by relative position (order position) in the result set, where the first field in the result set is 1. The next field equals 2, etc.
For example:
SELECT last_name, first_name, city
FROM contacts
WHERE first_name = 'Elena'
ORDER BY 3 DESC;
This PostgreSQL ORDER BY will return all records sorted by the city field in descending order since the city field is at position 3 in the resulting set and will be equivalent to the next ORDER BY:
SELECT last_name, first_name, city
FROM contacts
WHERE first_name = 'Elena'
ORDER BY city DESC;
Use of ASC and DESC attributes
When sorting a set of results with PostgreSQL operator ORDER BY you can use ASC and DESC attributes in one SELECT operator.
For example:
SELECT last_name, first_name, city
FROM contacts
WHERE first_name = 'Elena'
ORDER BY last_name ASC, first_name DESC;
This PostgreSQL ORDER BY will return all records sorted by last_name field in ascending order, with secondary sorting by first_name in descending order.
PostgreSQL: Order By | Course
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of clouds, RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Driving Financial RevOps Efficiency with Enteros: AIOps-Powered Database Performance for Smarter Decision-Making
- 27 October 2025
- Database Performance Management
Introduction In today’s competitive financial ecosystem, where every second and every data point matters, achieving operational agility and revenue precision has become a top priority. Financial institutions — from banks and insurance companies to fintech innovators — are seeking more intelligent ways to manage their data-driven operations. The convergence of Revenue Operations (RevOps), database performance … Continue reading “Driving Financial RevOps Efficiency with Enteros: AIOps-Powered Database Performance for Smarter Decision-Making”
Revolutionizing Healthcare Efficiency with Enteros: SaaS Database Optimization, Generative AI, and Cloud FinOps Synergy
Introduction The healthcare sector has entered a new digital era driven by innovation, patient data analytics, and intelligent automation. From hospital management systems and patient monitoring to clinical research and predictive diagnostics, the industry’s growing dependence on cloud-based data systems has introduced both immense opportunities and operational challenges. As healthcare organizations scale their operations, managing … Continue reading “Revolutionizing Healthcare Efficiency with Enteros: SaaS Database Optimization, Generative AI, and Cloud FinOps Synergy”
⚡ The Hidden Blackout: How Data Lag Triggered a Grid Failure (and What It Taught Us About Energy Resilience)
📍 The Incident In late 2024, a regional utility company in Northern Europe experienced an unexpected power disruption.Not because of a storm.Not because of an overload.But because two monitoring systems were five seconds out of sync. Those five seconds cost the company 19 million euros in operational losses and emergency response. When analysts reconstructed the … Continue reading “⚡ The Hidden Blackout: How Data Lag Triggered a Grid Failure (and What It Taught Us About Energy Resilience)”
How Enteros is Revolutionizing Real Estate RevOps Through Generative AI and Smarter Database Performance
- 26 October 2025
- Database Performance Management
Introduction The real estate sector is no longer confined to property listings and offline transactions—it’s a complex, data-driven industry powered by technology, analytics, and automation. From property valuation and customer engagement to financial forecasting and deal execution, data plays a pivotal role in driving operational efficiency and revenue growth. However, managing this massive influx of … Continue reading “How Enteros is Revolutionizing Real Estate RevOps Through Generative AI and Smarter Database Performance”