如何計算男女人數

A - Zhi 2020-11-25 03:00:45
我有2個表格
table : service
serviceID clientID service
1 1 Call
2 1 Email
3 2 Call
4 3 Email
5 1 Email

Table : Client
ClientID Gendar birthday City
1 M ..
2 M ..
3 F
4 F
5 M

我需要計算出 email 服務的 男女人數(不能重復,比如clientID 1 我們 email 了2次,但是他是同1個人, 所以男人數只能+1

感謝各位了
...全文
148 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
锟斤拷锟斤拷 2020-12-02
  • 打赏
  • 举报
回复
SELECT COUNT(*) FROM CLIENT a WHERE a.CLIENTID IN (SELECT CLIENTID FROM SERVICE WHERE SERVICE = 'Email') AND a.GENDER = 'M'
mspython 2020-11-27
  • 打赏
  • 举报
回复
select b. gender,count(distinct a.clientid) from service a,client b where a. service=’email’ and a. clientid=b. clientid group by a. gender
jereco 2020-11-25
  • 打赏
  • 举报
回复
select count(distinct clintID) from ( select a.clientID,a.service,b.Gendar from service a left join Client b on a.clientID=b.ClientId ) c where service='Email' and Gendar='F'
shoppo0505 2020-11-25
  • 打赏
  • 举报
回复
那就service table里面 distint clientID, 然后再 group by 一下client ID,用count(*)算出数量,然后再join client表格,最后再group by 性别
chenghangstar 2020-11-25
  • 打赏
  • 举报
回复
SELECT 
	B.Gendar
	,COUNT(DISTINCT A.clientID) AS CT
FROM service AS A
JOIN Client AS B ON A.clientID=B.clientID
WHERE A.service='email'
GROUP BY 
	B.Gendar
CT即是你所求的email服务的男女人数
chenghangstar 2020-11-25
  • 打赏
  • 举报
回复
SELECT 
	B.Gendar
	,COUNT(DISTINCT A.clientID) AS CT
FROM service AS A
JOIN Client AS B ON A.clientID=B.clientID
WHERE A.service='email'
GROUP BY 
CT即是你所求的男女email服务的人数

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧