Grupo SQL por mes

Grupo SQL por mes

Problema

Supongamos que tenemos una tabla que contiene información de los empleados como se muestra a continuación:

El objetivo es ordenar los datos anteriores en función del mes de inicio. Esto se describe en la columna START_DATE.

¿Cómo podemos abordar tal problema??

Solución 1 - Grupo por columna (extracto)

El primer método que podemos usar es la función extract () en SQL. Nos permite extraer piezas específicas de un objeto de fecha.

Por lo tanto, podemos usar la función extract () para extraer la fecha en que la fecha y agrupar los datos del valor resultante.

Una consulta de ejemplo es como se muestra:

SELECCIONAR
Max (start_date) max (start_date)
De empleados
Grupo por extracto (mes de inicio_date);

Lo anterior debe agrupar los datos por los meses y devolver la fecha máxima en cada grupo de mes:

Solución 2 - Formato de fecha

También puede usar la función date_format para agrupar los datos por el nombre del mes. Un ejemplo es como se muestra:

Seleccione date_format ('mes', start_date) como inicio_month,
Contar (id) como id
De empleados
Grupo por fecha_format ('mes', start_date);

Esto debería agrupar los datos en función de los nombres de los meses y aplicar la función de conteo.

Gracias por leer!!