Grupo SQL por mês

Grupo SQL por mês

Problema

Suponha que tenhamos uma tabela contendo informações de funcionários, como mostrado abaixo:

O objetivo é solicitar os dados acima com base no mês de início. Isso é descrito na coluna start_date.

Como podemos abordar esse problema?

Solução 1 - Grupo por coluna (Extrato)

O primeiro método que podemos usar é a função Extract () em SQL. Ele nos permite extrair peças específicas de um objeto de data.

Portanto, podemos usar a função Extract () para extrair o mês a data e agrupar os dados do valor resultante.

Um exemplo de consulta é como mostrado:

Selecione
Max (start_date) max (start_date)
De funcionários
Grupo por extrato (mês de start_date);

O exposto acima deve agrupar os dados até os meses e devolver a data máxima em cada mês do grupo:

Solução 2 - Formato de data

Você também pode usar a função date_format para agrupar dados pelo nome do mês. Um exemplo é como mostrado:

Selecione Date_Format ('mês', start_date) como start_month,
Contagem (id) como id
De funcionários
Grupo por date_format ('mês', start_date);

Isso deve agrupar os dados com base nos nomes do mês e aplicar a função de contagem.

Obrigado pela leitura!!