mysql - 在使用 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)
解决方案
推荐阅读
- azure-active-directory - Azure AD - 如何获取 v2 访问令牌
- android - 类型不匹配:推断类型为 LoginActivity 但应为 LifecycleOwner
- c++ - 这个 SSE2 转置有什么问题?
- ios - 如何保护应用程序免受绕过 SSL pinning 的代码注入?
- android - Android Studio 无法检测到红米 5A
- c++ - 如何从 MxN 矩阵中减去 1xN 特征矩阵,就像 numpy 一样?
- django - Django QuerySet 过滤不适用于视图,即使有条目也显示空白视图
- javascript - 用于将按钮作为顶级项目的多级导航菜单的键盘 a11y
- javascript - 好奇,javascript地图函数在这种情况下返回未定义
- rsa - 带有 PKCS1-PSS 填充的 RSA 签名的 maskGenAlgorithm