Ayuda para orderar un resultado por date en SQLite

¿Hay alguna forma en SQLite para ORDENAR POR una date y hacer que el resultado se ordere por time en vez de alfabéticamente?

Por ejemplo:

SELECT * FROM details GROUP BY date; John | Smith | April 01, 2011 John | Smith | April 03, 2011 John | Smith | April 04, 2011 John | Smith | March 25, 2011 

Marzo debe llegar antes de abril.

Supongo que la respuesta aquí es almacenar mis dates como marcas de time largas, sin embargo, no estaba seguro de si podría hacerse más fácilmente con SQLite.

¡Gracias!

No hay un tipo de DATE incorporado en SQLite (como existe en algunos otros sistemas de administración de bases de datos), pero tiene un buen complemento de funciones de date y hora: http://www.sqlite.org/lang_datefunc.html

Puede usar la date ("01 de abril de 2011") para get una date ISO-8601 (p. Ej., 2011-04-01).

Este formatting tiene las ventajas de ser una cadena legible y ser orderable. 2011-03-25, naturalmente, viene antes del 01/04/2011 por reglas estándar de comparación de cadenas, por lo que no se requiere ninguna operación especial.

Entonces, almacene sus dates en ese formatting, y obtenga ese formatting usando la function de date() (u otra function relevante).

puede convertir la date a una date real para compararla.

intente agregar order by julianday(date) hasta el final de la consulta

http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions

la date debe ser una cadena y no una date real. Necesitarías convertir la date a una date real. Aquí hay un enlace a las funciones de date y hora de Sqlite. http://www.sqlite.org/lang_datefunc.html

Puedes hacer algo como esto

 select * from sometable order by date (thestringDateColumn)

Espero que esto ayude

Prueba esto:

 SELECT * FROM details GROUP BY date ORDER BY date ASC;