Pick az utolsó dátum számított 1 éven belül a min időpont

szavazat
0

Én próbálunk létrehozni egy új oszlopot, amely visszaadja az utolsó időpont számított 1 éven belül az első randin.

Példa:

Van az alábbi időpontokban.

5/6/2011
8/9/2011
3/5/2012
6/8/2012

Így a lekérdezés kell felvenni 2012/03/05, mint az utolsó időpont ebben az esetben.

A kérdést 10/10/2019 00:55
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
0

Az egyik módszer ablak funkciók:

select max(dt)
from (select t.*, min(dt) over () as min_dt
      from t
     ) t
where dt < dateadd(year, 1, min_dt);

Azt hiszem, inkább egy korrelált segédlekérdezésként, de:

select max(dt)
from t
where dt < (select dateadd(year, 1, min(dt)) from t);
Válaszolt 10/10/2019 04:42
a forrás felhasználó

szavazat
0

Tegyük fel, hogy az oszlop neve dt, és a tábla neveTbl

SELECT MAX(dt)
FROM Tbl
WHERE dt < (SELECT MIN(dt) + 365 FROM Tbl)
Válaszolt 10/10/2019 01:30
a forrás felhasználó

szavazat
0

Akkor nagyjából lefordítani az angol spec egy sql erre egy:

 SELECT max(d) 
 FROM  t
 WHERE d < (SELECT DATEADD(year, 1, MIN(d)) FROM t)
Válaszolt 10/10/2019 01:25
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more