Es ist ganz einfach:Verwenden Sie UNION ALL
statt UNION
.
SELECT * FROM (
SELECT name,total,rate
FROM business b
WHERE rate > 100
ORDER BY total DESC) x
UNION ALL
SELECT * FROM (
SELECT name,total,rate
FROM business b
WHERE rate <= 100
ORDER BY rate ASC) y
UNION ALL behält die codierte Reihenfolge bei.
UNION entfernt Duplikate und garantiert keine Ordnung. Die meisten Datenbanken sortieren die Ausgabe tatsächlich (um die Erkennung von Duplikaten zu erleichtern).