gpt4 book ai didi

mysql - 跨多个非唯一列的唯一记录

转载 作者:行者123 更新时间:2023-11-28 23:20:31 25 4
gpt4 key购买 nike

我有一个用户表 (tbl),这些用户在同一日期进行了多次扫描,有些用户在多个日期进行了多次扫描。

user    date        scan
andy 20160301 T1
andy 20160301 T2
andy 20160301 T1
andy 20160401 T1
andy 20160401 T2
lee 20160401 T1
lee 20160401 T2
lee 20160701 T1
lee 20160701 T2
lee 20160801 T1
lee 20160801 T2
tom 20160501 T1
tom 20160501 T2
tom 20160501 T2

我想要每个用户的唯一日期数(与每个日期发生的扫描次数无关),所以像这样:

user    NumVisits
andy 2
lee 3
tom 1

我已经尝试了几件事,但我最接近的是这个简单的查询:

SELECT user, COUNT(*) NumVisits FROM tbl GROUP BY user HAVING NumVisits > 1;

产生:

user    NumVisits
andy 5
lee 6
tom 3

此输出的问题在于它说明了每个日期的多次扫描。谁能帮我弄清楚如何获得此输出?

user    NumVisits
andy 2
lee 3
tom 1

最佳答案

为此使用Count(distinct column):

SELECT
user,
COUNT(distinct date) NumVisits
FROM tbl GROUP BY user

关于mysql - 跨多个非唯一列的唯一记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41860023/

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