首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按性别获取活跃会员

按性别获取活跃会员
EN

Stack Overflow用户
提问于 2012-05-31 21:32:24
回答 1查看 138关注 0票数 0

我这个项目的最终目标是产生正确数量的活跃女性雇员、活跃的女性家属、活跃的男性雇员和活跃的男性家属。我最终将使用散点图或饼图向客户显示此信息

我目前有一个名为ActiveMemberType的表,它显示...

代码语言:javascript
复制
CC  HID     ID      DOB  Gender Month Total_Paid ActiveType
B11 BLM0    00  1987-07-12  F   2004-09 0.00    Dependent
B11 BLM0    00  1987-07-12  F   2004-10 0.00    Dependent
B11 BLM0    00  1987-07-12  F   2004-11 0.00    Dependent
B11 BLM0    00  1987-07-12  F   2004-12 0.00    Dependent

我有另一个名为ActiveMembersPerMonth的表,它显示...

代码语言:javascript
复制
CC  ID         GID  Month-Total-Emp-Dep
B11 115 12818   2003-01 24  12  12
B11 115 12818   2003-02 24  12  12
B11 115 12818   2003-03 24  12  12
B11 115 12818   2003-04 24  12  12

可能是为女性支付的总费用,然后我可以分离出活跃的类型

ID和GID是用于形式的,在这里并不是真的需要,除了月份之外,CC是我唯一可以加入的东西。

我怎么才能让这两个表给出一些像这样的结果呢?

代码语言:javascript
复制
 CC HID SD  DOB      MONTH Active_Female_Emp Active_Male_Emp Active_Female_Dep Active_Female_Emp 
b11 BLM 0 yyyy-mm-dd  2010-01 7                     7             3               3

我需要的实际计数在最后等于总数,显然and...Almost所有这些字段都是静态的,因为它是历史数据,活动是唯一有可能改变的字段。

我的主要问题是,我从所有会员那里获得了支付的总额,并将其除以一个和(IF(Gender= 'M') 1,0)型交易,结果非常不一致。

CC HID和_ID是使成员唯一的,所以请记住它不在每月活跃成员表中,所以我可能需要一个子查询…当我得到there...Lets头脑风暴人员时,我将跨越它!谢谢!

我目前正在做这个项目。请记住,还有其他表,这些是我创建的聚合表,用于存放我需要的特定数据。

这是最新的更新,这要归功于Egyal:

代码语言:javascript
复制
SELECT Client_Cd, Holder_Id, _ID,  Incurred_Month,          
SUM(Gender='F' AND Active_Type='Employee' ) AS Active_Female_Emp,          
SUM(Gender='M' AND Active_Type='Employee' ) AS Active_Male_Emp,          
SUM(Gender='F' AND Active_Type='Dependent') AS Active_Female_Dep,          
SUM(Gender='M' AND Active_Type='Dependent') AS Active_Male_Dep,
SUM(Total_Paid) as Total_Paid
FROM ActiveMemberType
WHERE Incurred_Month = '2006-06'
GROUP BY client_Cd, HoldeR_ID, _Id, Incurred_Month; 

您显然看不到这一点,但是当我查看我的ActiveMembersPerMonth表

代码语言:javascript
复制
B11 115 12818   2006-06 428 180 248 42

没有标题..。428是我06-06年月的有效总数...

现在使用您的查询,我的计数爆炸到2221 actives...maybe a计算错误...

您的结果:

代码语言:javascript
复制
B11 BLM0    00  2006-06 2221    619 1468    2223    752371.20

无论如何,我都需要日期范围内给定月份的性别和Active_Type的total_paid

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-31 22:05:35

代码语言:javascript
复制
SELECT   Month,
         SUM(IF(Gender='F' AND ActiveType='Employee' , Total_Paid, 0)) AS fEmp,
         SUM(IF(Gender='M' AND ActiveType='Employee' , Total_Paid, 0)) AS mEmp,
         SUM(IF(Gender='F' AND ActiveType='Dependent', Total_Paid, 0)) AS fDep,
         SUM(IF(Gender='M' AND ActiveType='Dependent', Total_Paid, 0)) AS mDep
FROM     ActiveMemberType
GROUP BY Month
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10834692

复制
相关文章

相似问题

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