1

私の問題は、間隔の最初の値を取得できないことです。

表1の増加間隔の値は、Id1-Id3、Id4-Id5、Id9-Id13、およびId14-Id15ですが、表2の結果はId2-Id3、Id5、Id10-Id13、およびId 15にId1、Id4、 Id9およびId14。

クエリに含まれる最初の値を取得する方法がわかりません。

データソースを含むPSSテーブル:

ID  Date    Value

1   2012-04-20 0,166666666666667
2   2012-04-25 0,2
3   2012-04-28 0,235294117647059
4   2012-05-05 0,111111111111111
5   2012-05-07 0,416666666666667
6   2012-05-08 0,25
7   2012-05-09 0,166666666666667
8   2012-05-10 0,142857142857143
9   2012-05-11 0,125
10  2012-05-12 0,375
11  2012-05-13 0,5
12  2012-05-14 0,625
13  2012-05-15 0,75
14  2012-05-16 0,625
15  2012-05-17 0,75

そしてこのクエリ:

SELECT Id, Date, Value
FROM PSS p
WHERE p.Value >=
(SELECT Value
FROM PSS
WHERE Id = p.Id-1) 

表2の結果:

Id  Date    Value

2   2012-04-25 0,2
3   2012-04-28 0,235294117647059
5   2012-05-07 0,416666666666667
10  2012-05-12 0,375
11  2012-05-13 0,5
12  2012-05-14 0,625
13  2012-05-15 0,75
15  2012-05-17 0,75
4

1 に答える 1

1

これを試して

select id, date, value 
from PSS p1
where value >= (select p2.amount from PSS p2 where p2.id=p1.id - 1) 
      or value <= (select p3.amount from PSS p3 where P3.id=p1.id + 1) 
于 2012-05-28T12:12:53.053 に答える