ORDER BY Clause
The ORDER BY
clause specifies how records should be sorted. The options are ASC
(ascending) and DESC
(descending).
Usage
ORDER BY expression [ASC|DESC] [NULLS (FIRST|LAST)], ...
Syntax Rules
- Sort columns may be specified positionally by a 1-based positional integer, by
SELECT
clause alias name, bySELECT
clause expression, or by an unrelated expression; - Column references may appear in the
SELECT
clause as the expression for an aliased column or may reference columns from tables in theFROM
clause. If the column reference is not in theSELECT
clause the query must not be a set operation, specifySELECT DISTINCT
, or contain aGROUP BY
clause; - Unrelated expressions, expressions not appearing as an aliased expression in the select clause, are allowed in the order by clause of a non-set
QUERY
. The columns referenced in the expression must come from theFROM
clause table references. The column references cannot be to alias names or positional; - The
ORDER BY
columns must be of a comparable type; - If an
ORDER BY
is used in an inline view or view definition without a limit clause, the CData Virtuality Server optimizer will remove it; If
NULLS FIRST
/LAST
is specified, nulls are guaranteed to be sorted either first or last. If the null ordering is not specified, the results will typically be sorted with nulls as low values, which is the CData Virtuality Server's internal default sorting behaviour. However, not all sources return results with nulls sorted as low values by default, and the CData Virtuality Server may return results with different null orderings.The use of positional ordering is no longer supported by the ANSI SQL standard and is a deprecated feature in the CData Virtuality Server. It is preferable to use alias names in the
ORDER BY
clause.