如何使用MYSQL GROUP BY只选择一次重复行的查询计数?
我正在构建一个非常轻量级的web分析软件。用户可以选择日期范围,并可以查看有多少唯一和返回的访问者。我正在尝试使用如何使用MYSQL GROUP BY只选择一次重复行的查询计数?,mysql,sql,group-by,Mysql,Sql,Group By,我正在构建一个非常轻量级的web分析软件。用户可以选择日期范围,并可以查看有多少唯一和返回的访问者。我正在尝试使用分组方式显示唯一的访问者。GROUP BY的问题是它不能删除重复项。即使访客在同一天访问了两次,也只应计算一次。如何做到这一点 到目前为止我拥有的 SELECT last_update, COUNT(ipAddress) as uniqueVisitor FROM geolocation WHERE last_update BETWEEN '2020-11-01' AND '2
分组方式显示唯一的访问者。GROUP BY的问题是它不能删除重复项。即使访客在同一天访问了两次,也只应计算一次。如何做到这一点
到目前为止我拥有的
SELECT last_update, COUNT(ipAddress) as uniqueVisitor
FROM geolocation
WHERE last_update
BETWEEN '2020-11-01' AND '2020-12-01'
GROUP BY date(last_update)
这将返回
last_update | uniqueVisitor
2020-11-11 19:29:45 | 3
2020-11-13 19:53:16 | 5
每个IP地址每天只能计数一次
期望的结果
last_update | uniqueVisitor
2020-11-11 19:29:45 | 2
2020-11-13 19:53:16 | 3
使用计数(不同)
:
我建议不要在SELECT
中只使用last\u update
——查询应该会生成错误。相反:
date(last_update)
min(last_update)
max(last_update)
date(last_update)
min(last_update)
max(last_update)