SQL Group etter måned

SQL Group etter måned

Problem

Anta at vi har en tabell som inneholder ansattes informasjon som vist nedenfor:

Målet er å bestille dataene ovenfor basert på startmåneden. Dette er beskrevet i start_date -kolonnen.

Hvordan kan vi nærme oss et slikt problem?

Løsning 1 - Gruppe etter kolonne (Extract)

Den første metoden vi kan bruke er Extract () -funksjonen i SQL. Det lar oss hente ut spesifikke deler fra et datoobjekt.

Derfor kan vi bruke Extract () -funksjonen for å trekke ut måneden datoen og gruppere dataene fra den resulterende verdien.

Et eksempel på spørring er som vist:

PLUKKE UT
Maks (start_date) maks (start_date)
Fra ansatte
Gruppe etter ekstrakt (måned fra start_date);

Ovennevnte skal gruppere dataene etter månedene og returnere MAX -datoen i hver månedsgruppe:

Løsning 2 - Datoformat

Du kan også bruke Date_Format -funksjonen til å gruppere data etter månedens navn. Et eksempel er som vist:

Velg dato_format ('måned', start_date) som start_month,
Telle (id) som ID
Fra ansatte
Gruppe etter dato_format ('måned', start_date);

Dette skal gruppere dataene basert på månedens navn og bruke tellefunksjonen.

Takk for at du leste!!