Artigos de Tecnologia e Negócios > Data Science

SQL having e video games

Guilherme Silveira
Guilherme Silveira

Tenho um banco de dados com informações sobre vendas de jogos. Gostaria de saber como estão as vendas por produtora, então agrupo como de costume:


SELECT produtora, count(*) as total 
    FROM vendas 
    GROUP BY produtora;

> Sony, 500 > ... 24 linhas ... 
> Ubisoft, 1300 > ... 30 linhas ... 
> Microsoft, 400 > ... 27 linhas ...

Mas repara que tem uma dezena de resultados "menores" que não estou tão interessado. Só queremos quem vendeu mais de 500?


SELECT produtora, 
    count(*) as total 
    FROM vendas 
    WHERE sum(quantidade) > 500 
    GROUP BY produtora;

> No, no, no no

O banco de dados não aceita resultados de funções de agregação na cláusula "where", pois ela é usada para selecionar os registros...antes de agregar!

Subconsulta neles!


SELECT produtora, total 
    FROM ( SELECT produtora, count(*) as total 
        FROM vendas 
        GROUP BY produtora 
        ) as temp 
    WHERE total > 500;

Resolvido? Sim, mas com uma "volta ao mundo".

Será que o SQL já não foi espertinho pra permitir "queriar" o resultado de uma agregação? Queria dizer que dentre os grupos que formei, aqueles que tem mais de 500, em inglês: having.


SELECT produtora, count(*) as vendas 
    FROM games 
    GROUP BY produtora 
    HAVING vendas > 500;

> Ubisoft | 1300

E se quer se aprofundar em SQL e banco de dados, vale conhecer nossos cursos de Oracle e cursos de SQL da Alura.

Leia também:

Artigos de Tecnologia e Negócios > Data Science

Cursos profissionais de Data Science é na Alura, comece agora!

  • 1119 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1119 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1119 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1119 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana