F850, “Top-level <order by clause> in <query expression>”


BigQueryDb2 (LUW)DuckDBH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20052007200920112013201520172019202120232025✓ 3.5.7 - 3.53.0⚠ 2008R2 - 2025a⚠ 8.3 - 18a✓ 11gR1 - 23.26.1✓ 5.0 - 9.7.0✓ 5.1 - 12.2.2⚠ 1.4.191 - 2.4.240a✓ 1.0.0 - 1.5.0✓ 9.7 - 12.1.4✓ 2.0+
  1. Some variants

This optional SQL feature covers the fundamental functionality of the order by clause in queries:

SELECT c
  FROM (VALUES (1)
             , (2)
       ) t(c)
 ORDER BY c

Variants

The order by clause allows the following keys types: ⓵ references to selected columns by name; ⓶ references to columns produced in the from clause if the query is simple0 and ⓷ expressions that contain at least one such column reference.1 Note that positional referencing by an unsigned integer value ⓸ is not standard SQL anymore.

BigQuery 2026-05-12Db2 (LUW) 12.1.4DuckDB 1.5.0H2 2.4.240abMariaDB 12.2.2cMySQL 9.7.0cOracle DB 23.26.1PostgreSQL 18aSQL Server 2025aSQLite 3.53.0selected column ⓵non-selected column ⓶expressions ⓷positional reference ⓸
  1. Expressions cannot contain select-names:
    select c AS x FROM (VALUES (1), (2)) t(c) ORDER BY x * 2
  2. Also via bind parameter: order by ? • Negative parameters (but not literals) reverse the direction
  3. Also via bind parameter: order by ?

Normative references

F850, “Top-level <order by clause>in <query expression>” is an optional feature in ISO/IEC 9075-2:2023. It first appeared in the 2008 edition.

You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Bluesky or RSS to gradually catch up and to keep modern-⁠sql.com on your radar.

About the Author

Photo of Markus Winand

Markus Winand provides insights into SQL and shows how different systems support it at modern-sql.com. Previously he made use-the-index-luke.com, which is still actively maintained. Markus can be hired as trainer, speaker and consultant via winand.at.

Buy the Book

Cover of “SQL Performance Explained”: Squirrel running on grass

The essence of SQL tuning in 200 pages

Buy now!
(paperback and/or PDF)

Paperback also available at Amazon.com.

Hire Markus

Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »

Footnotes

  1. Does not use union, except or intersect (ISO/IEC 9075-2:2023 §7.17 SR 26di1).

  2. But no subqueries and no <set function specifications>

Connect with Markus Winand

Subscribe mailinglistsSubscribe the RSS feedMarkus Winand on LinkedInMarkus Winand on XINGMarkus Winand on MastodonMarkus Winand on Bluesky
Copyright 2015-2026 Markus Winand. All righs reserved.
Legal | Contact | NO WARRANTY | Trademarks | Privacy and GDPR