Re: How do write a query...

Поиск
Список
Период
Сортировка
От Mischa Sandberg
Тема Re: How do write a query...
Дата
Msg-id 1118460944.42aa5c1012c59@webmail.telus.net
обсуждение исходный текст
Ответ на Re: How do write a query...  (KÖPFERL Robert <robert.koepferl@sonorys.at>)
Список pgsql-sql
> |From: Alain Reymond [mailto:arwebmail@skynet.be]
> |Sent: Mittwoch, 01. Juni 2005 18:01
> |Subject: [SQL] How do write a query...
> |
> |I have a table like
> |Id    Num      Date                   AValue
> |1      10         01/01/2005       50
> |2      10         31/05/2005       60
> |3      25         02/02/2005       55
> |4      25         15/03/2005       43
> |5      25         28/05/2005       62
> |etc..
> |
> |Id is unique, Num is an identification number with duplicates
> possible,
> |date is a ... date and Avalue... a value!
> |
> |If we have
> |Id    Num      Date                   AValue
> |Id1  Num1    Date1                  AValue1
> |Id2  Num1    Date2                  AValue2
> |
> |The table is ordered on Num+Date.
> |What I would like to calculate is (AValue2-AValue1) for a given Num
> |(here num1).
> |
> |In this case, I would have to calculate
> |60-50 for Num 10
> |and
> |43-55, 62-43 for Num 25.

Not sure if this covers all that you want, given your examples (what if
there's only one row for a given Num value?), but ...

select Num, AValue-AValue1
from Tafel
join (select Num, min(AValue) as AValue1        from   Tafel group by Num) as T using(Num)
where AValue > AValue1




В списке pgsql-sql по дате отправления:

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: [GENERAL] Permission denied for language pltclu
Следующее
От: Daniel Roth
Дата:
Сообщение: predicate locking