繁体   English   中英

SQL:计算每个客户的操作

[英]SQL: Count the actions per customer

我需要一些 SQL 帮助。

我的表包含客户 ID、日期和操作说明。 它看起来像下面这样:

截屏

我希望它具有以下结构:每次同一客户在同一天完成任何操作,那么它就计为每个客户的一个操作(也许还可以在每个单元格内创建一个带有“1”的数字列每个不同日期的客户)。 所以,最后我想有以下结构:

Customer - Date (only distinct dates for each cutomer) - Action (1).

最后我想计算每个客户在特定时间范围内的操作总和。

使用 group by 和 count 尝试与此类似的操作

更新查询:

SELECT CA.ID, CA.COD_SE_ACTION, COUNT(CA.COD_SE_ACTION), TST_EVENT FROM 
CUSTOMER_ACTIONS CA GROUP BY CA.ID, CA.COD_SE_ACTION,TST_EVENT ORDER BY 
ID,CA.COD_SE_ACTION ;

在此处输入图像描述

这应该工作:

SELECT CustomerId, SUM(Count) FROM ( 
SELECT 
   CA.ID [CustomerId], 
   CA.COD_SE_ACTION [Action], 
   COUNT(CA.COD_SE_ACTION) [Count], 
   TST_EVENT [Date]
FROM CUSTOMER_ACTIONS CA 
GROUP BY 
   CA.ID, 
   CA.COD_SE_ACTION, 
   TST_EVENT 
 ) WHERE Date >= '2020/01/01' AND Date <= '2020/10/10'
GROUP BY CustomerId

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM