Birisi bana bu sorgunun tam olarak ne yaptığını anlamama yardımcı olabilir mi? Lamak söylediği gibiZararlı SQL sorgusu etrafında aklımı karıştırmaya çalışıyorum
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;
rağmen, bu
SELECT Sedol, MAX(Id) PriceId FROM Prices GROUP BY Sedol
sadece eşdeğer olacak değil herhangi bir yol göremiyorum:
SELECT pp.Sedol
,MAX(MAX(Id)) OVER (
PARTITION BY pp.Sedol
,MAX(pp.ValueDate)
) PriceId
FROM Prices pp
GROUP BY pp.Sedol
yapamazsınız agrega bir toplama işlevi içinde. Bu bir sözdizimi hatası atmalıdır. –
Eh, maalesef değil. Bunu ben yazmadım, sadece ne yapması gerektiğini anlamaya çalışıyorum. –
@JaazCole: * "Bir toplu işlev içinde toplanamazsınız." * [Görünüşe göre, yapabilirsiniz] (http://sqlfiddle.com/#!6/4c971/1), en azından bir pencere işlevi. –