1

我试图获得每个 IP 的唯一视图,每天最多计算 1 次,使用 MySQL 查询返回。

该表如下所示:

product_id          time          ip
INT                 TIMESTAMP     VARCHAR

查询应随时返回唯一视图,但应过滤产品 ID,以便每个产品都有自己的唯一视图字段计数。表中的 IP 地址每天最多计算一次。我会给你一些细节,在下面的查询中应该和不应该计算什么:

product_id          DATE(time)          ip            should_be_counted
11                  2012-12-14          1.1.1.1       YES
11                  2012-12-14          1.1.1.2       YES
11                  2012-12-14          1.1.1.1       NO
11                  2012-12-13          1.1.1.1       YES
11                  2012-12-13          1.1.1.1       NO

Should be returned:
product_id          unique_views
11                  3

这就是我要的:

product_id          unique_views
11                  103
8                   53
2                   3
1                   1

这意味着查询应该使用 ORDER BY unique_views DESC。

感谢您的帮助!

4

1 回答 1

5
SELECT Product_ID, SUM(unique_view) unique_views
FROM
(
  SELECT Product_ID, COUNT(DISTINCT IP)  unique_view
  FROM   tableName
  GROUP BY Product_ID, DATE(time)
) x
GROUP BY Product_ID
于 2012-12-11T13:56:19.237 回答