首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按日期、IP查询唯一页视图

如何按日期、IP查询唯一页视图
EN

Stack Overflow用户
提问于 2013-09-18 17:19:42
回答 2查看 101关注 0票数 0
代码语言:javascript
复制
Table
--------
Date CreatedOn
varchar(25) IP

在此表中,我希望按日选择唯一IP地址的数目。

代码语言:javascript
复制
June 1, 2013       25
June 2, 2013       35
June 3, 2013        0

注意,第三项是在最初的问题之后添加的,以处理没有项目的天数。这些数据将被转换成图表。

这方面的Server 2008R2 Sql是什么?

格雷格

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-18 17:21:25

代码语言:javascript
复制
SELECT Date, COUNT(*)
FROM TableName
GROUP BY Date
ORDER BY date

如果你想有唯一的计数,你需要有DISTINCT,例如。COUNT(DISTINCT IP)

后续问题:是否有一个没有视图的日期?你打算拿它做什么?

由于要根据注释显示两个日期范围之间的所有日期,所以需要有一个日历表或在日期范围之间生成所有日期的东西。

代码语言:javascript
复制
-- let's say 
-- start date = June 1, 2013
-- end date = June 5, 2013


WITH DateTimeSequence
AS
(
  SELECT CAST('20130601' as datetime) AS [datetime]    -- Start Date
  UNION ALL
  SELECT DATEADD(d, 1, [datetime])
  FROM   DateTimeSequence
  WHERE  DATEADD(d, 1, [datetime]) <= CAST('20130605' as datetime) -- End Date
)
SELECT a.[datetime],
       COUNT(DISTINCT b.[ipaddress]) uniqueIP_Count
FROM   DateTimeSequence a
        LEFT JOIN TableName b
          ON a.[datetime] = b.[date]
GROUP BY a.[datetime]
  • SQLFiddle演示
票数 2
EN

Stack Overflow用户

发布于 2013-09-18 17:21:34

代码语言:javascript
复制
SELECT CreatedOn,
       COUNT(DISTINCT IP)
FROM   Table
GROUP BY CreatedOn
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18878474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档