gpt4 book ai didi

mysql - 我可以只计算新个人的月份吗?

转载 作者:行者123 更新时间:2023-11-29 09:43:49 24 4
gpt4 key购买 nike

我正在尝试统计一年中几个月参加过事件的人数。每个人在 MariaDB 中都有一个唯一的 ID,我可以使用 COUNT(DISTINCT MEMBER_ID) 并按事件月份分组来获取每个月的总计数。但是,我想知道每个月总共有多少人是新人(例如,参加的第一次事件)以及有多少人返回。

例如,如果有一个像这样的表...

EVENT_ID    MEMBER_ID    EVENT_DATE

1001 100 1/1/2019
1001 123 1/1/2019
1001 222 1/1/2019
1002 100 1/4/2019
1002 123 1/4/2019
1002 333 1/4/2019
1003 100 2/12/2019
1003 444 2/12/2019
1004 123 2/20/2019
1004 555 2/20/2019

...此代码将统计每个月参加事件的人数。

SELECT MONTH(EVENT_DATE) as EVENT_MONTH, COUNT(DISTINCT MEMBER_ID) as ID_COUNT FROM `table` 

WHERE YEAR(EVENT_DATE) = YEAR(CURRENT_TIMESTAMP)

GROUP BY MONTH(EVENT_DATE)

像这样...

EVENT_MONTH    ID_COUNT 
1 4
2 4

至少,我想知道每个月有多少新人,所以

EVENT_MONTH    ID_COUNT 
1 4
2 2

但是,如果可能的话,我很想知道 1 月份参加的人数在 2 月份继续参加,以及有多少 2 月份参加的人数在 3 月份参加,等等。

任何帮助将不胜感激!

最佳答案

使用 min(eventDate) 选择成员 ID 到新表中。然后您可以使用新表进行另一个查询来确定这是否是成员(member)优先事件。

关于mysql - 我可以只计算新个人的月份吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080819/

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