Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSSQL Server 2008R2时间戳累积数据-间隔计算_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

MSSQL Server 2008R2时间戳累积数据-间隔计算

MSSQL Server 2008R2时间戳累积数据-间隔计算,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我是SQL的新手 我们有每日和每小时的时间戳累积计数数据 将问题局限于日常数据 样本数据: 2008-01-01 123 2008-01-02 135 2008-01-03 150 2008-01-04 160 2008-01-05 170 所需的输出数据 Year Month CountOnDate1 CountOnDate2 CountOnDate3 CountOnDate4 CountOnDate5 ..so on 2008 JAN 0

我是SQL的新手

我们有每日和每小时的时间戳累积计数数据 将问题局限于日常数据

样本数据:

2008-01-01   123
2008-01-02   135
2008-01-03   150
2008-01-04   160
2008-01-05   170
所需的输出数据

Year Month CountOnDate1  CountOnDate2  CountOnDate3 CountOnDate4  CountOnDate5  ..so on

2008  JAN     0              12           15           10              10
在MSSQL服务器2008R2上是否有一种高效、直接的方法来实现这一点。 到目前为止,我尝试的所有方法都太慢了。 我试过CTE,旋转。 没有一个表来存储可以计算的数据是有限制的。 希望我听起来不要太天真

寻找一些指导。 当做 阿杰

添加更多信息 我的问题有两个步骤 1.计算两个连续日期计数之间的差值 2.并将基于月日的差异透视到列中

步骤1:我有一个视图,它使用标量函数获取下一条记录并创建一个差值

View 1: 
Sample Data:
    Col1         Col2   Col3
    2008-01-01   123     0
    2008-01-02   135     12
    2008-01-03   150     15
    2008-01-04   160     10
    2008-01-05   170     10
步骤2: 从视图1创建交叉选项卡轴

SELECT     * FROM         (SELECT    MONth(Col1) AS MonthNumber, 'D' + CONVERT(nvarchar(5), DAY(Col1))  AS ConsumptionDay, Col3) AS Sample_Value, ltrim(CONVERT(nvarchar(3), Col1, 107)) AS ConsumptionMonth,  ltrim('Y' + CONVERT(nvarchar(4), Col1, 120)) AS ConsumptionYear
FROM         View 1) src 
PIVOT (sum(Sample_Value) FOR ConsumptionDay IN ([D1], [D2], [D3], [D4], [D5], [D6], [D7], [D8], [D9], [D10], [D11], [D12], 
                  [D13], [D14], [D15], [D16], [D17], [D18], [D19], [D20], [D21], [D22], [D23], [D24], [D25], [D26], [D27], [D28], [D29], [D30], [D31])) AS pvT
我相信,我做错了什么 希望有人能帮忙
Ajay

这里的关键字是sql语法中的PIVOT,您实际尝试了什么?查询的速度可能是由于索引,而不是数据的旋转方式。