首页 > 解决方案 > 在使用 UNION 子句连接它们之前,如何以不同的方式对 2 个表进行排序?

问题描述

在下面的查询中,两个表都单独运行并分别给出正确的输出。但是当我尝试使用联合来组合它们时,第二张表的排列顺序被打乱了。我怎样才能修复它,让我得到两个表的正确组合输出?

(SELECT CONCAT(name,'(',LEFT(occupation,1),')')
FROM occupations
ORDER BY name)

UNION 

(SELECT CONCAT('There are a total of ', COUNT(*),' ',occupation,'s.')
FROM occupations
GROUP BY occupation
ORDER BY COUNT(*),CASE WHEN occupation = 'Doctor' THEN 1
                    WHEN occupation = 'Singer' THEN 2
                    WHEN occupation = 'Actor' THEN 3
                    WHEN occupation = 'Professor' THEN 4 END)

标签: mysqlsqlpostgresqlsql-order-byunion

解决方案


推荐阅读