Tied keys use a visible toy display convention.

highlighted = computed this step

Ties are flagged

This model keeps tied rows in source order only to make the diagram deterministic.

tie convention is visible\text{tie convention is visible}

Read tied groups

There are 2 tie groups, so unresolvedTies is yes.

tie groups=2\text{tie groups}=2

Multi-column sorting examples are tiny finite table transforms; SQL dialect completeness, collation rules, optimizer behavior, indexing, product behavior, and performance claims are out of scope.

Ties keep source order here: base rowsidregionqtylabel1east2a2west2b3east5c4east5d5westNULLe6north3f7eastNULLg ORDER BY keyscolumndirectionregionasc Sort keys by source rowsourceinputsortKeyorderedRank0(1, east, 2, a)(east)01(2, west, 2, b)(west)52(3, east, 5, c)(east)13(4, east, 5, d)(east)24(5, west, NULL, e)(west)65(6, north, 3, f)(north)46(7, east, NULL, g)(east)3 Tie groupssortKeysourceRowstieConvention(east)(0, 2, 3, 6)source_order(west)(1, 4)source_order Ordered rowssourcevaluessortKey0(1, east, 2, a)(east)2(3, east, 5, c)(east)3(4, east, 5, d)(east)6(7, east, NULL, g)(east)5(6, north, 3, f)(north)1(2, west, 2, b)(west)4(5, west, NULL, e)(west) Page rows after LIMITsourcevaluessortKey0(1, east, 2, a)(east)2(3, east, 5, c)(east)3(4, east, 5, d)(east)6(7, east, NULL, g)(east)5(6, north, 3, f)(north)1(2, west, 2, b)(west)4(5, west, NULL, e)(west) Multi-sort factsfactvaluerowCount7orderColumnCount1tieGroupCount2unresolvedTiesyesnullPlacementNULLS_LAST_TOY_CONVENTIONtieConventionsource_order_for_unbroken_tieslimitnonepageRowCount7skippedAfterLimit0outputOrderdeterministic_order_then_source_tie

No hidden promise

Source-order tie display is a toy convention here, not a SQL product promise.

not a product claim\text{not a product claim}

Summary

Add another key when the exact tied-row order matters.

tie breaker needed\text{tie breaker needed}