Sql server 2008 每小时一次的sql server报告,其中包含给定日期的唯一数据记录

Sql server 2008 每小时一次的sql server报告,其中包含给定日期的唯一数据记录,sql-server-2008,reporting-services,Sql Server 2008,Reporting Services,我一直在尝试构建SQLServer2008报表,这些报表为多个客户机提供给定表中的记录,但在给定的一天中重复最后几个小时的数据。解释:我将从一个表中为客户端A选择记录,该表提供客户端在过去一小时内提交给搜索引擎的最后一次用户查询。如果查询确实出现在前几个小时的报告中,则此报告不应重复查询。这些记录保留一天,然后丢弃。我在想,我需要第二个表来保存我为给定客户机发送的最后一个数据的记录,但不确定如何在报表查询中混合这些数据。我正在使用SSBIDS,但无法获得正确的报告格式,现在打算手动创建 例如:

我一直在尝试构建SQLServer2008报表,这些报表为多个客户机提供给定表中的记录,但在给定的一天中重复最后几个小时的数据。解释:我将从一个表中为客户端A选择记录,该表提供客户端在过去一小时内提交给搜索引擎的最后一次用户查询。如果查询确实出现在前几个小时的报告中,则此报告不应重复查询。这些记录保留一天,然后丢弃。我在想,我需要第二个表来保存我为给定客户机发送的最后一个数据的记录,但不确定如何在报表查询中混合这些数据。我正在使用SSBIDS,但无法获得正确的报告格式,现在打算手动创建

例如:

SELECT DISTINCT query FROM searchQueries 
WHERE clientKey = 'client#234567' AND DATEDIFF(minute,CAST(DATEADDED as datetime),GETDATE())<=60
AND NOT EXISTS(SELECT DISTINCT query, clientKey FROM QUERYReport WHERE 
DAY(GETDATE()) =   DAY(DATEADDED))


.....
因此,从表A中选择在过去一小时内插入的客户机A的查询,这些查询不会出现在该客户机的表B中。
我不确定这是否会奏效。有谁有更好的建议吗?

我建议您根据查询ID添加LastExecutedDate表。因为XXX是以物理场为基础的,所以设定约会规则会更容易;我要试一试。谢谢