mySQL,网站统计:独特的每日访问量

mySQL,网站统计:独特的每日访问量,mysql,Mysql,我在数据库中有一个表统计信息: CREATE TABLE `statistics` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `address` TEXT NOT NULL, `ip` TEXT DEFAULT NULL, PRIMARY KEY (`id`) ) 为了获得每日网页访问量,我使用以下查询: SEL

我在数据库中有一个表
统计信息

CREATE TABLE `statistics` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `address` TEXT NOT NULL,
  `ip` TEXT DEFAULT NULL,
  PRIMARY KEY (`id`)
)
为了获得每日网页访问量,我使用以下查询:

SELECT DATE_FORMAT(`timestamp`, "%Y-%m-%d"), COUNT(*)
FROM `statistics`
GROUP BY 1
ORDER BY 1 ASC
如何修改查询以获得IP唯一的每日访问量


非常感谢

将其更改为计数不同的IP,如下所示

SELECT DATE_FORMAT(`timestamp`, "%Y-%m-%d"), COUNT(DISTINCT `ip`)
FROM `statistics`
GROUP BY 1
ORDER BY 1 ASC
如果您想将null视为单个IP,我们必须进行稍微不同的查询

SELECT DATE_FORMAT(`timestamp`, "%Y-%m-%d"), COUNT(DISTINCT `ip`) + SUM(ISNULL(`ip`))
FROM `statistics`
GROUP BY 1
ORDER BY 1 ASC

您可以在
选择中添加
IP
分组依据,例如:

SELECT DATE_FORMAT(`timestamp`, "%Y-%m-%d"), IP, COUNT(*)
FROM `statistics`
GROUP BY 1, 2
ORDER BY 1 ASC

这就是我要找的!谢谢如何将空IP视为单个IP?对于您的提案,无效项不计算在内。谢谢!这很有帮助!:)