GROUP BY e HAVING
GROUP BY
•O SQL GROUP BY é uma cláusula usada em conjunto
com funções de agregação para agrupar os dados em
conjuntos, com base nos valores de uma ou mais
colunas.
HAVING
•Por outro lado, a cláusula HAVING é especificamente
utilizada para filtrar dados depois que eles foram
agrupados por uma operação GROUP BY.
STRFTIME
•Neste exemplo, estamos formatando uma data
específica, que é 31 de dezembro de 2022. Utilizamos
a função strftime para obter a data formatada no
formato “dd de mês de aaaa”.
• SELECT idCliente, COUNT(fatura), SUM(valor)
• FROM ContasReceber
• CONTOU TODOS OS REGISTROS E SOMOU OS VALORES.
COUNT CONTOU TODAS AS
FATURAS
SUM SOMOU TODOS OS
VALORES
VALOR TOTAL APENAS UM
ALIAS
GROUP BY AGRUPOU
idCliente.
Fazendo a junção das tabelas contas a
receber com clientes.
Para isso vamos usar o Alias
Chamar a tabela contas a receber de t
Vamos colocar o t em todos os
campos da tabela.
Executar.
A principio não irá mudar nada.
Agora vamos fazer a junção
Perceba que houve
uma mudança
Perceba:
Coloque c para ser o
alias para ser o alias da
tabela Clientes.
Digite o código e perceba
que irá exibir a consulta.
Digite o Código e execute
• SELECT STRFTIME('%Y',t.vencimento) ano, STRFTIME('%m',
t.vencimento) mes, count(t.fatura) titulos, sum(t.valor) valorTotal
• FROM ContasReceber t
• INNER JOIN Clientes c ON t.idCliente = c.idCliente
• GROUP BY ano, mes
Explicação
Digite o Código
• SELECT STRFTIME('%Y',t.vencimento) ano, STRFTIME('%m',
t.vencimento) mes, count(t.fatura) titulos, sum(t.valor) valorTotal
• FROM ContasReceber t
• INNER JOIN Clientes c ON t.idCliente = c.idCliente
• GROUP BY ano, mes
• HAVING ano = '2019'
HAVING É UM FILTRO DE AGRUPAMENTO

Principais consultas SQL para o sgbd Sqlite

  • 1.
    GROUP BY eHAVING
  • 2.
    GROUP BY •O SQLGROUP BY é uma cláusula usada em conjunto com funções de agregação para agrupar os dados em conjuntos, com base nos valores de uma ou mais colunas.
  • 3.
    HAVING •Por outro lado,a cláusula HAVING é especificamente utilizada para filtrar dados depois que eles foram agrupados por uma operação GROUP BY.
  • 4.
    STRFTIME •Neste exemplo, estamosformatando uma data específica, que é 31 de dezembro de 2022. Utilizamos a função strftime para obter a data formatada no formato “dd de mês de aaaa”.
  • 5.
    • SELECT idCliente,COUNT(fatura), SUM(valor) • FROM ContasReceber • CONTOU TODOS OS REGISTROS E SOMOU OS VALORES.
  • 6.
    COUNT CONTOU TODASAS FATURAS SUM SOMOU TODOS OS VALORES VALOR TOTAL APENAS UM ALIAS GROUP BY AGRUPOU idCliente.
  • 7.
    Fazendo a junçãodas tabelas contas a receber com clientes. Para isso vamos usar o Alias Chamar a tabela contas a receber de t Vamos colocar o t em todos os campos da tabela. Executar. A principio não irá mudar nada.
  • 8.
    Agora vamos fazera junção Perceba que houve uma mudança
  • 9.
    Perceba: Coloque c paraser o alias para ser o alias da tabela Clientes. Digite o código e perceba que irá exibir a consulta.
  • 11.
    Digite o Códigoe execute • SELECT STRFTIME('%Y',t.vencimento) ano, STRFTIME('%m', t.vencimento) mes, count(t.fatura) titulos, sum(t.valor) valorTotal • FROM ContasReceber t • INNER JOIN Clientes c ON t.idCliente = c.idCliente • GROUP BY ano, mes
  • 12.
  • 13.
    Digite o Código •SELECT STRFTIME('%Y',t.vencimento) ano, STRFTIME('%m', t.vencimento) mes, count(t.fatura) titulos, sum(t.valor) valorTotal • FROM ContasReceber t • INNER JOIN Clientes c ON t.idCliente = c.idCliente • GROUP BY ano, mes • HAVING ano = '2019'
  • 14.
    HAVING É UMFILTRO DE AGRUPAMENTO