Tengo una tabla que contiene los pedidos de productos y la fecha en que se hicieron. La fecha se insertó en la tabla usando DATE (). Los clientes pueden obtener estadísticas de estos pedidos eligiendo verlos por mes, trimestral, anual o total. Necesito recuperar todos los pedidos desde el principio, por lo que no hay fecha de inicio, solo fecha de finalización y deben ordenarse.
Si seleccionan trimestralmente (la base de datos comienza en 2006), necesita mostrar cada pedido desde 2006 trimestralmente:
Trimestre 1 - 2006
fecha, producto1, cantidad, precio
fecha, producto2, cantidad, precio
Trimestre 2 - 2006
fecha, producto1, cantidad, precio
fecha, producto2, cantidad, precio
Trimestre 1 - 2014
fecha, producto1, cantidad, precio
fecha, producto2, cantidad, precio
¿Hay alguna forma de ordenarlo por trimestres? Estoy interesado en averiguar el trimestre de cada fecha.
- Trimestre 1: enero, febrero, marzo
- Trimestre 2: abril, mayo, junio
- Trimestre 3: julio, agosto, septiembre
- Trimestre 4: octubre, noviembre, diciembre
Respuesta:
Pues sí, Mysql ofrece una función que devuelve el trimestre de una fecha, mediante la función quarter(fecha)
:
select QUARTER(date_column) as trimestre from table order by date_column;