我有陈述
SELECT a FROM X UNION
SELECT b FROM Y UNION
SELECT c FROM Z;
我希望对首选项进行排序,以便首先从a中排起,然后是b,最后是c。我曾尝试使用GROUP BY
和ORDER BY
,但我不断收到错误,但看不到逻辑以及它应该如何工作。
您可以做:
select a
from (
SELECT a, 1 as display_order FROM X
UNION ALL
SELECT b, 2 FROM Y
UNION ALL
SELECT c, 3 FROM Z
) w
order by display_order