Mysql多个GROUP_CONCAT每月具有不同的计数

时间:2017-07-21 12:42:20

标签: mysql sql

我有一个place_analytics表,我每个月都会获取以下位置,我的问题是,当我按月获取不同的计数时,它会忽略不同的值并根据每月基础获取不需要的(在屏幕截图中描述)记录。

注意:用户可以多次关注/取消关注同一个地方,我不会删除此数据,而是存储多个条目。

例如,在下面的屏幕截图中,我已根据place_id过滤了结果,其中user_id = 5在5月之后是place_id = 4,在7月取消了它,然后在7月也跟进。

enter image description here

当我查询时,

SELECT place_id, COUNT(DISTINCT user_id) as follow_count 
FROM place_analytics 
WHERE is_followed=1
GROUP BY place_id

enter image description here

这是预期的结果,但是,当我按月添加另一个group by子句时,

MONTHNAME(STR_TO_DATE(MONTH(created_at), '%m'))

返回结果集,其中place_id 4多次出现。

enter image description here

问题 如果user_id = 5在5月跟随/取消关注place_id = 4,则在7月跟随。我的查询应该只考虑表中的一条记录而忽略每月组。这可能吗?

详情MySQL Fiddle就在这里,

预期结果应为,

enter image description here

0 个答案:

没有答案