1
resposta

Minha resolução

Olá a todos!

Consegui resolver o exercício de aula da seguinte forma:

CREATE DEFINER=`root`@`localhost` PROCEDURE `soma_dias_notas`(vDataInicial date)
BEGIN
    declare vDataFinal date;
    declare vDataAtual date;
    declare vSoma int;

    set vDataAtual = vDataInicial;
    set vDataFinal = adddate(vDataInicial, interval 9 day);
    
    while vDataFinal >= vDataAtual do
        select count(*), data_venda from notas_fiscais
        where data_venda = vDataAtual
        group by data_venda;
        set vDataAtual = adddate(vDataAtual, interval 1 day);
    end while;
end
1 resposta

Oii Renan, tudo bem?

Parabéns pela resolução do exercício! Sua procedure tá bem estruturada e fazendo o que é proposto de maneira eficiente. Você utilizou variáveis para armazenar as datas inicial e final, além de iterar sobre os dias entre essas datas para contar o número de notas fiscais para cada dia.

A incorporação do loop while para percorrer as datas e a utilização da função count(*) junto com group by demonstram um entendimento sólido do SQL e das ferramentas disponíveis no MySQL para manipulação de dados.

Um abraço e bons estudos.