如何使用MYSQL GROUP BY只选择一次重复行的查询计数?

如何使用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

我正在构建一个非常轻量级的web分析软件。用户可以选择日期范围,并可以查看有多少唯一和返回的访问者。我正在尝试使用
分组方式显示唯一的访问者。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)