试图围绕可怕的SQL查询

Fra*_*era 5 sql t-sql sql-server window-functions

有人可以帮我理解这个查询究竟是做什么的吗?

SELECT pp.Sedol
    ,MAX(MAX(Id)) OVER (
        PARTITION BY pp.Sedol
        ,MAX(pp.ValueDate)
        ) PriceId
FROM Prices pp
GROUP BY pp.Sedol
Run Code Online (Sandbox Code Playgroud)

Lau*_*nce 5

这相当于:

with x as (
  select
    Sedol,
    max(id) max_id,
    Max(ValueDate) max_valuedate
  from
    Prices
  group by
    Sedol
) select
  Sedol,
  max(max_id) over (partition by Sedol, max_valuedate) PriceId
from
  x;
Run Code Online (Sandbox Code Playgroud)

虽然正如喇嘛所说,我看不出任何方式这不等于

SELECT Sedol, MAX(Id) PriceId FROM Prices GROUP BY Sedol
Run Code Online (Sandbox Code Playgroud)

SQL小提琴