Aquí está mi código hasta ahora:¿Cómo seleccionar UNIX date = "2010" en la consulta de mysql?
SELECT `date`, title, category, url
FROM cute_news
WHERE category = '4'
ORDER BY `date` DESC
quiero hacer las páginas basadas en el año, como 2010, 2009, 2008 y así sucesivamente. La base de datos guarda la fecha como UNIX_Timestamp. ¿No está seguro de cómo consultar un conjunto de registros con un parámetro de año?
WHERE unix_timestamp(YEAR) = '2010' or something???
Gracias de antemano. Estoy desconcertado.
Perfecto :-) Sabía que me estaba perdiendo algo simple, ja. – eberswine
@eberswine: tenga en cuenta que tal consulta será lenta si va a tener muchas filas en su tabla. La base de datos necesitaría realizar un escaneo completo de la tabla para filtrar las filas que desea ... Por otro lado, si crea un índice en la columna 'date' (suponiendo que uno no exista), puede usar el 'UNIX_TIMESTAMP()' función como en el segundo ejemplo en mi respuesta. La base de datos podría usar el índice para encontrar rápidamente las filas que desea sin realizar una exploración de tabla completa. –
@Daniel, eso es cierto si el campo de fecha es el mejor discriminador. A menudo lo es, y por supuesto, no hay daño en darle la opción a MySQL a través de su recomendación, incluso si no lo necesita. – Matthew