MySQL页面视图由唯一的IP

时间:2014-02-09 11:42:11

标签: mysql sql views

我有一个包含三列的MySQL表:Page,IP和Date。我正在尝试编写一个SQL行,在过去24小时内按页面名称列出唯一视图。我试过这个:

SELECT Page, COUNT(DISTINCT IP) as views FROM `hits` WHERE DATE >= DATE_SUB(NOW(), INTERVAL 1 DAY) AND IP <> 'unknown' GROUP BY Page ORDER BY views DESC;

我确实得到了分组的页面名称。但是,它们都有1个视图。

另外,我怎样才能列出浏览次数超过1的网页?我尝试过WHERE视图&gt; 1但它没有用。

1 个答案:

答案 0 :(得分:0)

您的日期检查条件错误。您正在检查日期大于或等于一天的条目。

应为DATE <= DATE_SUB(NOW(), INTERVAL 1 DAY)

您的查询应如下所示

  SELECT Page, COUNT(DISTINCT IP) as views FROM `hits` WHERE DATE <= DATE_SUB(NOW(), INTERVAL 1 DAY) AND IP <> 'unknown' GROUP BY Page ORDER BY views DESC;`