小编Cod*_*bie的帖子

在 SQL Server 2012 中对计算列使用 CASE

我有一个名为 temp 的数据库,其中包含每日股票价格:

Ticker    Date      price
ABC     01/01/13    100.00 
ABC     01/02/13    101.50 
ABC     01/03/13     99.80 
ABC     01/04/13     95.50 
ABC     01/05/13     78.00 
XYZ     01/01/13     11.50 
XYZ     01/02/13     12.10 
XYZ     01/03/13     17.15 
XYZ     01/04/13     14.10 
XYZ     01/05/13     15.55 
Run Code Online (Sandbox Code Playgroud)

drawdown我计算了每只股票的最高价格和每天每只股票的累计价格的运行总和:(最高价格 - 当前价格)/最高价格)

       SELECT t.Ticker,
              t.Date,
              t.price, 
           max(t.price) over (partition by ticker order by date) as max_price,
           (t.price / max(t.price) over (partition by ticker order by date)) - 1       
as Drawdown

       FROM [temp] t;


    Ticker  Date         price  max_price    Drawdown
    ABC     01/01/13     100.00      100.00 …
Run Code Online (Sandbox Code Playgroud)

sql case calculated-columns column-alias

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

calculated-columns ×1

case ×1

column-alias ×1

sql ×1