AS içeren SQL SELECT deyimi

0 Cevap php

Ben SQL sorgusu vardır:

select title, scale / next_scale, c
from ( select title, scale, scale*D0 AS c, 
              lead(scale) over(partition by title order by scale asc) as next_scale,
              row_number() over(partition by title order by scale asc) as agg_row
       from signatures
     ) agg
where agg_row = 1;

beklendiği gibi ve çalışır. Ancak, gerçekten sıralama "ölçek" değeri birkaç sütun arasında bir aritmetik işlem olmasını istediklerini, bu yüzden (yukarıda gösterilen) bir AS yan tümcesini kullanarak ve sorguyu değiştirmek çalıştı:

select title, scale / next_scale, c
from ( select title, scale, scale*D0 AS c, 
              lead(scale) over(partition by title order by c asc) as next_scale,
              row_number() over(partition by title order by c asc) as agg_row
       from signatures
     ) agg
where agg_row = 1;

Bununla birlikte, ORDER BY c başarısız olur. Neden bu? I ORDER BY scale*D0 yerine ve gayet güzel çalışıyor. Ancak, sonunda böyle bir terim kullanmak isteyeceksiniz: {[(2)];} ve ben hesaplamak zorunda istemiyorum 3 farklı zamanlarda - sorgunun fiziksel uzunluğunu söz değil. I scale*D0*D1*D2*...*D100 AS c olması umuduyla ve ardından ORDER BY c. Am

Bu mümkün mü?

Ben PostgreSQL kullanıyorum.

Many thanks, Brett

0 Cevap