Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como funciona o groupby e count no sql


Uma seleção relacionalmente fornece um conjunto de resultados. Se você estiver agrupando sua seleção por um campo, as linhas do conjunto de resultados serão agrupadas por esse campo e cada linha do conjunto de resultados será específica para o grupo de resultados.

Por exemplo, você tem uma tabela chamada Animais com os seguintes campos:
Type | Gender | Name

Se você estiver executando esta consulta (no MySQL, por exemplo):
 select Type, Gender, Name from Animals where Type <> 'Pig'

você terá todos os animais que não são 'Porco'. Se uma linha tiver Type ='pig', ela será incluída nos resultados.

Esta consulta:
select Type, Gender, count(*) from Animals group by Type, Gender

terá este número de linhas:número de tipos * número de gêneros

Você pode criar condições para o seu grupo usando a cláusula having no MySQL.

Leia mais aqui

A diferença entre count(*) e count(browser) é que o primeiro retornará o número de todos os registros, o segundo retornará o número de todos os registros onde not (browser is null) .

Tente inserir uma linha em que browser is null e, em seguida, execute 1) e 2), este é o melhor teste.