Lamento no haber podido aclarar la pregunta, déjame explicarla aquí.
Tengo una tabla que tiene dos columnas:
year, ID
------------
2013, 01
2013, 27
2013, 33
2014, 22
2014, 33
2014, 01
2014, 13
2015, 45
2015, 13
2015, 22
Lo que quiero hacer es lo siguiente: comprobar todas las nuevas ID que aparecieron en 2014 a partir de 2013, y todas las nuevas ID que aparecieron en 2015 a partir de 2014, y así sucesivamente ...
Entonces, del ejemplo anterior, la respuesta esperada a mi consulta debería ser una tabla como:
year, new
-------------
2014, 2
2015, 1
Ya que en 2014 hay dos nuevos DN en relación a 2013 (22 y 13), y en 2015 hay un nuevo DN en relación a 2014 (45).
Perdón por el formato horrible, soy nuevo en este sitio. Se agradece cualquier ayuda, gracias.
Si lo entiendo correctamente, quieres lag()
:
select year, count(*)
from (select t.*, lag(year) over (partition by id order by year) as prev_year
from t
) t
where prev_year is null or prev_year < year - 1
group by year;
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras