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?对于您的提案,无效项不计算在内。谢谢!这很有帮助!:)