Gruppo SQL per settimana

Gruppo SQL per settimana
Il gruppo per clausola in SQL consente di aggregare un insieme di righe che hanno lo stesso valore in una singola entità/gruppo. Pensalo come un modo per riassumere un insieme di righe con valori simili in una partizione.

Ad esempio, possiamo classificare tutti i video dallo stesso canale YouTube in un singolo gruppo. Troverai spesso il gruppo per clausola utilizzato insieme ad altre funzioni aggregate come max, somma, AVG, ecc.

Sebbene il gruppo per clausola sia autoesplicativo, non può essere facile quando è necessario raggruppare i dati entro la settimana.

Gruppo SQL per settimana

Supponiamo di avere una tabella contenente le informazioni mostrate di seguito:

Crea dipendenti da tavolo (
Chiave primaria seriale ID,
full_name varchar (255),
Email Varchar (255),
Dipartimento Varchar (100),
Data start_date,
Bool attivo,
Categoria Varchar (50)
);
Inserisci i dipendenti (full_name, e -mail, dipartimento, start_date, attivo, categoria)
VALORI
("Meghan Edwards", "[email protected] ',' Game Development ',' 2016-06-22 ', True,' Dev-G1 '),
("Sam Davis", "[email protected] ',' Game Development ',' 2014-01-04 ', False,' Dev-G1 '),
('Taylor Miller', '[email protected] ',' Game Development ',' 2019-10-06 ', True,' Dev-G1 '),
('Wilson Smitty', '[email protected] ',' Database Developer ',' 2016-12-23 ', True,' Dev-DB1 '),
('Barbara Moore', '[email protected] "," sviluppatore di database "," 2015-12-23 ", true," dev-db1 "),
("Raj Chan", "[email protected] ',' Database Developer ',' 2017-12-23 ', false,' dev-db1 '),
("Susan Brown", "[email protected] ',' Devops Engineer ',' 2011-12-23 ', True,' Dev-Ops1 '),
("Marial Anderson", "[email protected] ',' Devops Engineer ',' 2015-12-23 ', True,' Dev-Ops1 '),
("Nancy Thomas", "[email protected] ',' Devops Engineer ',' 2014-12-23 ', false,' Dev-Ops1 ');

Per raggruppare i dati di cui sopra in base alla settimana, possiamo utilizzare la funzione di estratto in SQL. L'estratto () consente di estrarre una parte specifica di una data.

La sintassi è come mostrata:

Estratto (parte dalla data);

Quindi, per estrarre la settimana da una data, possiamo passare il parametro parte come settimana seguita dalla data letterale.

Considera un esempio di seguito:

Seleziona estratto (settimana da Timestamp '2022-04-08 15:57:54.937148+03 ');

Nota: l'esempio sopra è illustrato usando PostgreSQL. In alcuni database, non è necessario specificare la clausola.

La query sopra dovrebbe tornare:

ESTRATTO
---------
14

Quindi, il timestamp sopra è della settimana 14 dell'anno.

Possiamo passare questo valore al gruppo per clausola come mostrato:

SELEZIONARE
Estratto (settimana da start_date) come settimana,
Contare (ID) come ID
Dai dipendenti
Gruppo per estratto (settimana da start_date);

Questo dovrebbe tornare:

Chiusura

Questa guida ha mostrato come utilizzare il gruppo per clausola in SQL e la funzione di estratto per i record di gruppo in base alla settimana.