我有一个如下所示的架构(简化):
CREATE TABLE MyTable (
DateTimeOffset HitDate NOT NULL,
IpAddress varchar(15)
)
示例行可能如下所示:
'7/10/2013 8:05:29 -07:00' '111.222.333.444'
我正在尝试制定一个查询,该查询将为我提供每天(例如,2013 年 7 月 10 日)唯一 IpAddress 的数量。实际上,这部分相当简单,我已经为此创建了一个查询。但是,对于这个查询,我想要的是IpAddresses
在当前日期之前从未存在过的唯一数量。我不在乎日期之后,就在日期之前。
例如,假设我有以下数据,这就是我所拥有的:
'7/10/2013 8:05:29 -07:00' '111.222.333.444'
'7/10/2013 12:05:29 -07:00' '111.222.333.222'
'7/9/2013 9:05:29 -07:00' '111.222.333.444'
'7/9/2013 10:05:29 -07:00' '111.222.333.555'
'7/8/2013 11:05:29 -07:00' '111.222.333.222'
'7/8/2013 4:05:29 -07:00' '111.222.333.555'
查询应输出以下内容:
'7/8/2013' 2 (neither IpAddress existed before this date so both are new)
'7/9/2013' 1 (only one of the IpAddresses is new - the one ending in '444')
'7/10/2013' 0 (both IpAddresses had existed before this date)
目标数据库是SQL Server 2012
. 我向第一个正确创建 SQL 语句的人提供 100 分的奖励。