14赞
968
当前位置:  开发笔记 > 编程语言 > 正文

使用UNION/UNIONALL和GroupBy的MySQLQuery错误

如何解决《使用UNION/UNIONALL和GroupBy的MySQLQuery错误》经验,求大佬解答?

生成以下两个结果集:

1).查询OCCUPATIONS中所有姓名的按字母顺序排列的列表,紧接着是每个职业的第一个字母作为括号(即:括在括号中).例如:AnActorName(A),ADoctorName(D),AProfessorName(P)和ASingerName(S).

2).查询OCCUPATIONS中每个职业的发生次数.按升序对事件进行排序,并按以下格式输出:

There are total [occupation_count] [occupation]s.

表名:职业

总列数:两个='名称'和'职业',演示表如下所示:

表:职业

样本输出:

Ashely(P)
Christeen(P)
Jane(A)
Jenny(D)
Julia(A)
Ketty(P)
Maria(A)
Meera(S)
Priya(S)
Samantha(D)
There are total 2 doctors.
There are total 2 singers.
There are total 3 actors.
There are total 3 professors.

我的方法:

(SELECT NAME, '(', SUBSTRING(OCCUPATION, 1, 1), ')' 
    FROM OCCUPATIONS ORDER BY NAME) 
UNION ALL 
(SELECT COUNT(*) FROM OCCUPATIONS GROUP BY OCCUPATION ORDER BY ASEC);

错误:

ERROR 1222 (21000) at line 1: 
    The used SELECT statements have a different number of columns

谢谢!


推荐阅读
author-avatar
Junjie_Liu85
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有