Het is heel eenvoudig:gebruik UNION ALL
in plaats van 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 behoudt de volgorde zoals gecodeerd.
UNION verwijdert duplicaten en garandeert geen bestelling. De meeste databases sorteren de uitvoer daadwerkelijk (om duplicaatdetectie gemakkelijker te maken).