我正在尝试获取每个IP的唯一视图,使用MySQL查询每天最多返回1次。
该表格如下所示:
product_id time ip
INT TIMESTAMP VARCHAR
查询应该随时返回唯一视图,但它应该过滤产品ID,以便每个产品都有自己唯一的视图字段计数。表中的IP地址应该每天计算一次MAX。我将在下面的查询中向您提供一些应该和不应该计算的详细信息:
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。
感谢您的帮助!
答案 0 :(得分: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