首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL子查询和连接语句

问MySQL子查询和连接语句
EN

Stack Overflow用户
提问于 2021-02-17 11:29:15
回答 3查看 53关注 0票数 0

我编写了一个查询,根据employee id e and profile从表emp中提取员工的性别和姓名,现在我有一个表,如下所示:

代码语言:javascript
复制
gender   name
m         qwqw
f         wewe
m         erer
m         rtrt
f         tyty

所使用的查询是:

代码语言:javascript
复制
select gender, name from profile inner join e on profile.emp = e.emp

现在,我必须编写一个子查询来创建一个表来统计来自特定性别的员工数量,例如:

代码语言:javascript
复制
gender  count
m        3
f        2

在我写的查询中:

代码语言:javascript
复制
SELECT COUNT(gender) AS 'Count' FROM (select gender, name from profile inner join e on profile.emp = e.emp)AS Gender GROUP BY Gender;

我能打印:

代码语言:javascript
复制
count
3
2

但不是性别专栏。如何使用联接和子查询来根据需要正确显示数据?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-17 11:31:30

试试这段给出的below=>代码

代码语言:javascript
复制
SELECT Gender, COUNT(gender) AS 'Count' FROM (select gender, name from profile inner join e on profile.emp = e.emp)AS Gender GROUP BY Gender;
票数 0
EN

Stack Overflow用户

发布于 2021-02-17 11:41:02

您需要在gender中包括select。您可以按未选择的列和表达式进行聚合--尽管这有点不寻常。

在您的情况下,您不需要子查询。此外,我强烈建议使用表格别名:

代码语言:javascript
复制
select gender, count(*)
from profile p inner join
     e
     on p.emp = e.emp
group by gender;
票数 2
EN

Stack Overflow用户

发布于 2021-02-17 11:35:16

你试过选择gender, COUNT(gender)吗?您的查询将成为

代码语言:javascript
复制
SELECT gender, COUNT(gender) AS 'Count' FROM (select gender, name from profile inner join e on profile.emp = e.emp)AS Gender GROUP BY Gender;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66241082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档