SQL数据透视查询中的数据规范化

时间:2015-10-14 18:03:41

标签: sql-server

我有一个以下的sql查询,它返回2个不同索引的索引价格。

select * 
from INDICEPRICEHISTORY 
PIVOT (MAX(PRICE) 
FOR TICKER IN 
([OMXH25],[UX])
) 
as Pricelist 
ORDER BY EOD DESC;

查询返回:

EOD         OMXH25   UX
2015-10-10  3157.20  843.48
2015-10-09  3157.20  843.48
2015-10-08  3138.35  837.37
2015-10-07  3138.47  835.43

有没有办法在sql查询中为某些基点标准化这些数据,例如2015-10-07为100分,其他值与之相关。下面的样机:

EOD         OMXH25       UX
2015-10-10  100.5967876  100.9635756
2015-10-09  100.5967876  100.9635756
2015-10-08  99.99617648  100.2322157
2015-10-07  100          100

想法是使这两个(或更多)列在折线图中具有可比性。

有什么建议吗?这在SQL中是否可行?我正在使用MSSQL 2014。

谢谢!

1 个答案:

答案 0 :(得分:3)

以下是一个例子:

;with r as(your current query),
      t as(select top 1 * from r order by eod)
select r.eod, 
       r.omxh25 * 100 / t.omxh25 as omxh25,
       r.ux * 100 / t.ux as ux
from r
cross join t