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;