> |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