我有这张table
visitors: ip,last_date (datetime)
当一个不同的ip在某一天进入该站点时,它会插入一个新行,无论该ip是否再次进入。
通过这个sql语句,我检索我站点中所有唯一的ip访问。它适用于特定的一天,例如今天(26/05/2020),并按ip分组
SELECT v.*, max(last_date) as last_date1
FROM visitors as v
WHERE date(v.last_date) = :today
GROUP BY v.ip
ORDER BY last_date1 DESC
现在我想做一个小日报
SELECT
COUNT(*) as count,
DATE(last_date) AS last_date1
FROM visitors
WHERE 1
GROUP BY YEAR(last_date), MONTH(last_date), DAY(last_date)
ORDER BY last_date1 DESC
``` `count` 检索一个特定ip在一天中输入的所有时间。我不想把它算作1。
输出
26/05/2020 76455
25/05/2020 34561
24/05/2020 45642
我要检索唯一的ip访问。不是每个ip在一天中输入的次数的总和。
预期结果
26/05/2020 676
25/05/2020 543
24/05/2020 711
我怎样才能解决这个问题?
2条答案
按热度按时间1bqhqjot1#
我认为你想要
count(distinct ip)
.这计算了有多少独特的
ip
他每天都去参观这个地方。如果你想要访问的总次数(不管是否相同ip
多次访问),然后您可以使用count(*)
相反。shstlldc2#
我想你只需要一个集合: