Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ordenar por año campo DATE

Estas en el tema de Ordenar por año campo DATE en el foro de Bases de Datos General en Foros del Web. Buenos días compañeros tengo un campo DATE en mi tabla MySQL y me gustaría recuperar los registros ordenados por el año solo es decir ignorando ...
  #1 (permalink)  
Antiguo 18/07/2012, 04:01
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 4 meses
Puntos: 6
Pregunta Ordenar por año campo DATE

Buenos días compañeros tengo un campo DATE en mi tabla MySQL y me gustaría recuperar los registros ordenados por el año solo es decir ignorando el mes y el día.

Por ejemplo tengo un campo con el siguiente valor en data (DATE):
2008-08-09
Me gustaría ordenar solo teniendo en cuenta el 2008


¿Como lo hago?

Un saludo y muchas gracias!
  #2 (permalink)  
Antiguo 18/07/2012, 05:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ordenar por año campo DATE

MySQL: Funciones de Fecha y Hora
Código MySQL:
Ver original
  1. FROM...
  2. WHERE...
  3. ORDER BY DATE(fecha)
SI ese orden te resulta insuficiente, agregale otros campos. Inclusive puede ser por campos que no aparezcan en el SELECT.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/07/2012, 14:40
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Ordenar por año campo DATE

Sí, esto lo sabía pero lo que quería decir es que me ordenase solo contando el año de dentro del campo DATE.

Es decir tengo un campo DATE con el formato aaaa-mm-dd y quiero que me ordene solo por aaaa.
Si pongo ORDER BY me ordena siguiendo año, mes y día. Solo me interesa el año del campo.


Un saludo!
  #4 (permalink)  
Antiguo 18/07/2012, 15:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ordenar por año campo DATE

No lo has entendido...
DATE es una función que devuelve el número del año. Cuando la pones en el ORDER BY, ordena las cosas por el año.
Pero como método de ordenamiento es insuficiente, porque MySQL además ordenará cada grupo de años por el pprimer campo invocado... y si es el de fecha, bueno, ordenará de ese modo.
Lo que puede ser que tengas es:
1) Criterios de ordenamiento insuficientes.
2) Una columna llamada "DATE", lo que e una metida de pata, porque es una palabra reservada, y no se deben usar palabras reservadas como nombres de objetos.

Un detalle que si puedo decirte es que equivoqué la función a usar, pero no generará diferencias visibles a menos que los años y los días estén entremezclados:
Código MySQL:
Ver original
  1. FROM...
  2. WHERE...
  3. ORDER BY YEAR(fecha)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 18/07/2012 a las 18:21
  #5 (permalink)  
Antiguo 20/07/2012, 13:38
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Ordenar por año campo DATE

¡Perfecto!

Muchísimas gracias!

Etiquetas: año, date, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.