Agora que já mostramos como agrupar os dados por um determinado grupo utilizando o group by, vamos ver como fazer um agrupamento para mostrar os dados semana a semana.
Como de costume, criaremos uma tabela para trabalhar o exemplo. Dessa vez, você trabalha em um call center e possui uma tabela contendo o número de ligações recebidas em cada dia: -- cria os campos da tabela CREATE TABLE base_ligacoes ( Qtd_Ligacoes varchar(50), Data_Ligacao date ); -- insere valores na tabela INSERT INTO base_ligacoes VALUES (150, '2018-01-22'), (100, '2018-01-24'), (50, '2018-01-26'), (250, '2018-01-27'), (350, '2018-01-28'), (50, '2018-01-29'), (200, '2018-01-30'), (210, '2018-02-01'), (80, '2018-02-02'), (75, '2018-02-03'), (105, '2018-02-04'), (222, '2018-02-05'); -- exibe todos elementos de base_ligacoes select * from base_ligacoes;
Agora, você sabe como obter um resumo das ligações por semana? Uma média talvez ou então a soma do total de ligações semana a semana?
Para fazer isso, se você estiver utilizando o SQLite, você pode utilizar mais uma vez o strftime(), dessa vez com o argumento “%w”, indicador de que você quer a semana. Você ainda pode combinar o max() com date(), obtendo o primeiro e o último dia da semana (apenas para facilitar a leitura):
select strftime("%w", Data_Ligacao), max(date(Data_Ligacao, 'weekday 0', '-7 day')) Inicio_Semana, max(date(Data_Ligacao, 'weekday 0', '-1 day')) Fim_Semana, sum(qtd_ligacoes) as Total_Ligacoes, avg(qtd_ligacoes) as Media_Ligacoes from base_ligacoes group by 1 order by 2;
Se você não estiver utilizando o SQL, pode ser mais fácil utilizar a função week() que já te retorna o primeiro dia da semana do agrupamento (que é uma segunda-feira). Ficaria algo como:
select WEEK(Data_Ligacao)::DATE AS Week, SUM(Qtd_Ligacoes) AS Total_ligacoes, AVG(Qtd_Ligacoes::FLOAT) AS Media_Ligacoes FROM base_compras group by 1 order by 1;
Curtiu o post? Então não deixe de comentar, dar um feedback, isso é muito importante. Também não deixe de visitar as outras seções do blog e aprender mais sobre ciência de dados. Além disso, você pode me acompanhar no Twitter @EstatSite ou em outras redes – dê uma passadinha no Sobre o Estatsite / Contato.
Forte abraço e bons estudos!