mySQL,网站统计: unique daily visits

标签 mysql

我在数据库中有一个表statistics:

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

关于mySQL,网站统计: unique daily visits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42976964/

相关文章:

mysql - 使用 sqlloader 在表中加载 CSV 文件

php 选择整个表并按 id 从多行设置变量

php - 比较数据库的结果看看它们是否相同

php - sql 和 php - 此查询或代码是否存在 ant 问题

mysql - 精确时间之间的查询

php - 根据从 sql 查询获得的数组从文件中删除行

java - 在 Java 中为数据库应用程序建模客户类

javascript - MongoDB 是存储 JSON 结构的好选择吗?

php - 两个登录用户之间的实时响应

mysql - MYSQL 上 GADGETS 表的 Worklight wlapp 部署 SQL 错误