gpt4 book ai didi

mysql - 按性别获取活跃成员(member)

转载 作者:行者123 更新时间:2023-11-29 08:52:21 25 4
gpt4 key购买 nike

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

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

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 的表,它显示...

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是我除了月份之外唯一可以加入的东西。

我怎样才能让这两个表给我一些看起来像这样的结果......

 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

我需要实际计数最终等于总数,显然并且......几乎所有这些字段都是静态的,因为它是历史数据,事件是唯一有可能更改的字段。

我的主要问题是我将所有成员(member)支付的总金额除以 SUM(IF(Gender = 'M') 1, 0) 类型的交易,结果非常偏离。

CC HID 和 _ID 使成员(member)变得独一无二,因此请记住,它不在“每月活跃成员(member)”表中,因此我可能需要一个子查询...当我到达那里时,我会交叉它...让人们集思广益!谢谢!

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

这是感谢 Egyal 的更新:

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 表时

B11 115 12818   2006-06 428 180 248 42

没有标题... 428 是我 06-06 月份的活跃总数...

现在根据您的查询,我的事件数量激增至 2221 个...可能是计算错误...

您的结果:

B11 BLM0    00  2006-06 2221    619 1468    2223    752371.20

无论如何,我需要一个日期范围内给定月份的按性别和 Active_Type 划分的 Total_paid

最佳答案

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

关于mysql - 按性别获取活跃成员(member),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10834692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com