ver una tabla studio rawquery mostrar datos consultas sqlite time rows

una - select sqlite android studio



Diferencia de tiempo entre las filas de resultado de la consulta en SQLite: ¿Cómo? (1)

Considere los siguientes contenidos de la tabla de reviews :

CustomerName ReviewDT Doe,John 2011-06-20 10:13:24 Doe,John 2011-06-20 10:54:45 Doe,John 2011-06-20 11:36:34 Doe,Janie 2011-06-20 05:15:12

Los resultados son ordenados por ReviewDT y agrupados por CustomerName , tales como:

SELECT CustomerName, ReviewDT FROM Reviews WHERE CustomerName NOT NULL ORDER BY CustomerName ASC, ReviewDT ASC;

Me gustaría crear una columna de la diferencia de tiempo entre cada fila de esta consulta para cada Cliente ... rowid da la fila original, y no hay ningún patrón para la inclusión del rowid, etc ...

Para la primera entrada de un CustomerName, el valor sería 0. Pregunto aquí en caso de que esto sea algo que pueda calcularse como parte de la consulta original de alguna manera. Si no, estaba planeando hacer esto mediante una serie de consultas, creando inicialmente una nueva TABLA seleccionando los resultados de la consulta anterior, luego ALTERANDO para agregar la nueva columna y usando UPDATE / strftime para obtener las diferencias de tiempo usando rowid-1 (de algun modo)...


Para calcular los segundos transcurridos desde una fila de ReviewDT a la siguiente:

SELECT q.CustomerName, q.ReviewDT, strftime(''%s'',q.ReviewDT) - strftime(''%s'',coalesce((select r.ReviewDT from Reviews as r where r.CustomerName = q.CustomerName and r.ReviewDT < q.ReviewDT order by r.ReviewDT DESC limit 1), q.ReviewDT)) FROM Reviews as q WHERE q.CustomerName NOT NULL ORDER BY q.CustomerName ASC, q.ReviewDT ASC;

Para obtener el DT de cada ReviewDT y su fila CustomerName anterior:

SELECT q.CustomerName, q.ReviewDT, coalesce((select r.ReviewDT from Reviews as r where r.CustomerName = q.CustomerName and r.ReviewDT < q.ReviewDT order by r.ReviewDT DESC limit 1), q.ReviewDT) FROM Reviews as q WHERE q.CustomerName NOT NULL ORDER BY q.CustomerName ASC, q.ReviewDT ASC;