I have the following PieceWise expression
qq=
Piecewise[{
{x/8, x <= -6},
{x/2, x >= 22 - 8*Sqrt[6]},
{(1/384)*(52 + 72*x + 3*x^2), -2 <= x <= 18 - 8*Sqrt[6]},
{(-14696 + 6144*Sqrt[6] + 468*x + 66*x^2 - x^3)/1536,
18 - 8*Sqrt[6] < x < 22 - 8*Sqrt[6]}},
(216 + 300*x + 18*x^2 + x^3)/1536
]
Which Mathematica conveniently displays as

A manually aligned and screenshotted picture of the function and the ranges is below. The colorful picture at the bottom was produced using NumberLinePlot. Note that the NumberLinePlot displays the ranges from "bottom to top" in the order in which they appear in the Piecewise function.

Is there a convenient way to sort the pieces of this expression by the range on which they are active? A convenient format would be to have only, for an increasing sequence $(a_k)_{k=0}^n$ {x<=a0,x<=a1, x<=a2 ...} in the ranges, so that the an<=x case becomes the last case, which is always True if the other cases fail. That is, the True case should correspond to the orange arrow in the picture above.
Notes
PiecewiseExpand has been used to make the expression above, which nicely isolates the x's in the inequalities.
Disclaimer: I can probably do this myself, but I think this makes for a nice question.
Internal`PiecewiseOrderless[]to your function. – J. M.'s missing motivation Jul 14 '15 at 13:49Internal`PiecewiseOrderless@qq == PiecewiseExpand@qq->True.(StringSplit[#, "`"] & /@ Names["*`*Piecewise*"])[[All, -1]] // Columnis interesting. – Jacob Akkerboom Jul 14 '15 at 14:01MapAt[SortBy[#, Last] &, qq, 1]– xyz Jul 14 '15 at 14:35Truestill corresponds to the specification-6<=x<=-2. – Jacob Akkerboom Jul 14 '15 at 14:37