SQL Web流量查询

时间:2016-12-21 05:44:30

标签: sql sql-server

几天前我发现了这个问题,找不到最佳解决方案。我们有一个下表结构,用于存储访问特定网站的用户的一些基本Web流量日志。

Table name:   [tblWebtraffic]  
Columns:      Id,IPAddress,PageName,Date

我想要一个查询(即单个Select语句)来查询。总访问次数和唯一身份访问者总数(根据IP地址)以及过去60天内访问过的唯一身份页数。

PS:这是我在本网站的第一个问题,如果问题中缺少某些细节,请原谅我。 :)

编辑:我正在使用SQL Server数据库。

1 个答案:

答案 0 :(得分:0)

SELECT pageName, count(*) AS pageHits FROM tblWebtraffic GROUP BY pageName

会给你每页点击次数,稍作修改会给出独特的页面点击次数

SELECT pageName, count(DISTINCT ipAddress) AS uniquePageHits FROM tblWebtraffic GROUP BY pageName

当然,通过页面名称删除组将为您提供整个网站点击

SELECT count(*) AS siteHits FROM tblWebtraffic

SELECT count(DISTINCT ipAddress) uniqueSiteHits FROM tblWebtraffic

PS:我第一次尝试回答,所以如果有任何遗漏请告诉我:)

编辑:这些将适用于MS SQLServer Transact SQL .. MySQL我不太熟悉,但我只是尝试了SELECT count(Distinct fieldname)并且它工作了 edit2:感谢编辑 - 代码格式看起来很棒

edit3:回答问题:)

SELECT count(*) AS siteHits, count(DISTINCT ipAddress) AS uniqueSiteHits, count(DISTINCT pageName) AS uniquePages FROM tblWebtraffic WHERE DATEDIFF(d, [Date], getDate()) <= 60