I worked it round to get 3 consecutive drops: WITH C1(ID, DT, V) AS ( SELECT ID, ISO8601_DATE, MIN(INT_VALUE) FROM TABLE1 GROUP BY ID, ISO8601_DATE ) SELECT DISTINCT A.ID FROM C1 AS A JOIN C1 AS B ON B.ID = A.ID AND B.DT = (SELECT MAX(X.DT) FROM C1 AS X WHERE X.ID = A.ID AND X.DT > A.DT) JOIN C1 AS C ON C.ID = A.ID AND C.DT = (SELECT MAX(X.DT) FROM C1 AS X WHERE X.ID = A.ID AND X.DT < B.DT) JOIN C1 AS D ON D.ID = A.ID AND D.DT = (SELECT MAX(X.DT) FROM C1 AS X WHERE X.ID = A.ID AND X.DT < C.DT) WHERE B.V < A.V AND C.V < B.V AND D.V < C.V
but I must have done something wrong as it picked 62 up from this: 62 2005-01-07 44 62 2006-02-01 47 62 2006-05-22 45 62 2007-04-05 45 62 2007-08-14 45 62 2008-05-21 46 62 2009-08-24 46 62 2010-10-08 45 62 2011-12-07 47 62 2013-01-17 46 62 2014-02-25 37 62 2015-03-30 39 62 2016-09-02 40 Any idea what I did wrong? RBS On Wed, Oct 19, 2016 at 11:23 PM, Bart Smissaert <bart.smissa...@gmail.com> wrote: > Ah, yes, sorry, I needed actually drops and was looking at that. > Will work it round. > > RBS > > > On Wed, Oct 19, 2016 at 11:06 PM, Petite Abeille <petite.abei...@gmail.com > > wrote: > >> >> > On Oct 19, 2016, at 11:40 PM, Bart Smissaert <bart.smissa...@gmail.com> >> wrote: >> > >> > ID 2 for example shouldn't be selected. >> >> Hmmm? ID 2 has two ‘raises' as per your definition: 39 > 42 > 43 and 42 > >> 43 > 45 >> >> 2 2004-06-23 42 >> 2 2006-12-28 39 >> 2 2007-10-09 42 >> 2 2007-10-24 43 >> 2 2009-06-17 45 >> 2 2015-09-09 36 >> >> Or? >> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users