gpt4 book ai didi

mysql - 按类型/contactid 计算不同的消息

转载 作者:行者123 更新时间:2023-11-29 06:51:57 26 4
gpt4 key购买 nike

我有一个记录用户事件的表:

AccountID/ContactID/Message/Time/Date 都被记录下来。通常消息将是一种颜色,红色,绿色等...

任何 AccountID 都可以有多个 ContactID

我想展示的是这样的:

AccountID     Red    Green    OrangeAccount1       4       5         0Account2       3       4         1Account3       5       2         1

It basically counts the distinct number of messages What i tried was:

select 
AccountID,
count(distinct message where message = 'RED'),
count(distinct message where message = 'Green'),
count(distinct message where message = 'Orange')
from
activities
where
date like '2013-01%';

但它返回错误 1064,我不认为我的 count(distinct....) 接近有效,但我找不到任何示例,甚至找不到我应该使用的内容.任何帮助都会很棒,谢谢。

最佳答案

您可以通过将 CASE 语句与 SUM 聚合函数结合使用来完成此操作。示例:

select 
AccountID,
sum(case when message = 'red' then 1 else 0 end) red_msgs,
sum(case when message = 'green' then 1 else 0 end) green_msgs,
sum(case when message = 'orange' then 1 else 0 end) orange_msgs,
from
activities
where
`date` like '2013-01%'
group by
AccountID;

关于mysql - 按类型/contactid 计算不同的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14817380/

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