列中的sql日期范围并按组计数

扁豆

我正在尝试获取一份报告,您可以在其中选择日期范围并进行一些计数。我的桌子是这样的

--------------------------------------
RecID|AgentID|date
--------------------------------------
1    |00123  | 05/09/2012 16:28:49
2    |00123  | 05/09/2012 17:28:49
3    |00124  | 05/09/2012 18:28:49
4    |00124  | 06/09/2012 19:28:49
5    |00125  | 06/09/2012 20:28:49

我想要类似的东西

--------------------------------------
AgentID|05/09/2012|06/09/2012
--------------------------------------
00123  | 2        | 0
00124  | 1        | 1
00125  | 0        | 1

我有的代码是

DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX),
    @INIDate as date,
    @ENDDate as date,
    @INIDateVAR nvarchar(50),
    @ENDDateVAR nvarchar(50)

Set @INIDate = '10-01-2014'
Set @ENDDate = '10-10-2014'


DECLARE @sql NVARCHAR(MAX) = N'SELECT agentID';

;WITH dr AS
(

  SELECT MinDate = @INIDate,
         MaxDate = @ENDDate
),
n AS
(
  SELECT TOP (DATEDIFF(DAY, (SELECT MinDate FROM dr), (SELECT MaxDate FROM dr)) + 1)
   d = DATEADD(DAY, ROW_NUMBER() OVER (ORDER BY [object_id])-1, 
     (SELECT MinDate FROM dr))
 FROM sys.all_objects
)
SELECT @sql += ',
  (Select Count(*) From AllRecordsView) as ' + QUOTENAME(d) 
   FROM n;

SELECT @sql += ' FROM dbo.AllRecordsView Group by AgentID;'

EXEC sp_executesql @sql;
GO

但是,当我选择一个较大的日期范围时,这变得非常慢,并且得到的结果当然是完整表格的计数。

有任何想法吗?谢谢

扁豆

我最终要做的是使用Reporting Services。这样,我可以将一列中的所有值分配为一列,每行一个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将行计数收集到新列中-按列文本并按组重置计数

来自分类Dev

sql连接并按生成的日期范围分组

来自分类Dev

SQL:计算时间范围内列值的出现并按计数顺序

来自分类Dev

对sql中的日期范围进行计数和求和

来自分类Dev

T-SQL:处理结果周期并按组计数

来自分类Dev

基于SQL(Oracle)中预定义的日期范围的组记录

来自分类Dev

列中的日期计数

来自分类Dev

SQL选择数据并按日期范围对数据进行分组

来自分类Dev

执行计数并按日期划分

来自分类Dev

如何获取不同日期之间的SQL Server中的计数数据列,并且每个日期都有时间范围?

来自分类Dev

SQL添加两列并按计数分组

来自分类Dev

分散列并按r中的ID进行计数

来自分类Dev

ElasticSearch。按日期数组中的日期范围选择并按匹配日期排序

来自分类Dev

获取两个不同日期列的计数并按日期分组

来自分类Dev

SQL对一组列等于特定值的组中的行进行计数

来自分类Dev

如果另一列未退出SQL Server中的值,则按日期的四分之一获取行和总和组的计数

来自分类Dev

拆分SQL列值并按日期分组并返回单行

来自分类Dev

SQL Server中的日期范围

来自分类Dev

用户定义的函数,用于分析多个csv,创建变量并按R中的组对NA进行计数

来自分类Dev

SQL如何基于组中现有列的计数为新列创建值?

来自分类Dev

查询以仅查看最高计数并按组计数

来自分类Dev

SQL中的嵌套组和计数

来自分类Dev

汇总日期范围组

来自分类Dev

SQL查询以查找(日期计数> X)= 0对于ID组

来自分类Dev

SQL帮助:更新日期时如何按组计数?

来自分类Dev

SQL对每个组中的值进行计数并在单个列中检索每个值的最大计数

来自分类Dev

两个日期范围之间的SQL计数年龄

来自分类Dev

SQL查询来计数日期范围内的项目?

来自分类Dev

计算SQL Server 2012每天的日期范围计数

Related 相关文章

  1. 1

    将行计数收集到新列中-按列文本并按组重置计数

  2. 2

    sql连接并按生成的日期范围分组

  3. 3

    SQL:计算时间范围内列值的出现并按计数顺序

  4. 4

    对sql中的日期范围进行计数和求和

  5. 5

    T-SQL:处理结果周期并按组计数

  6. 6

    基于SQL(Oracle)中预定义的日期范围的组记录

  7. 7

    列中的日期计数

  8. 8

    SQL选择数据并按日期范围对数据进行分组

  9. 9

    执行计数并按日期划分

  10. 10

    如何获取不同日期之间的SQL Server中的计数数据列,并且每个日期都有时间范围?

  11. 11

    SQL添加两列并按计数分组

  12. 12

    分散列并按r中的ID进行计数

  13. 13

    ElasticSearch。按日期数组中的日期范围选择并按匹配日期排序

  14. 14

    获取两个不同日期列的计数并按日期分组

  15. 15

    SQL对一组列等于特定值的组中的行进行计数

  16. 16

    如果另一列未退出SQL Server中的值,则按日期的四分之一获取行和总和组的计数

  17. 17

    拆分SQL列值并按日期分组并返回单行

  18. 18

    SQL Server中的日期范围

  19. 19

    用户定义的函数,用于分析多个csv,创建变量并按R中的组对NA进行计数

  20. 20

    SQL如何基于组中现有列的计数为新列创建值?

  21. 21

    查询以仅查看最高计数并按组计数

  22. 22

    SQL中的嵌套组和计数

  23. 23

    汇总日期范围组

  24. 24

    SQL查询以查找(日期计数> X)= 0对于ID组

  25. 25

    SQL帮助:更新日期时如何按组计数?

  26. 26

    SQL对每个组中的值进行计数并在单个列中检索每个值的最大计数

  27. 27

    两个日期范围之间的SQL计数年龄

  28. 28

    SQL查询来计数日期范围内的项目?

  29. 29

    计算SQL Server 2012每天的日期范围计数

热门标签

归档