Resumo :neste tutorial, você aprenderá a usar SQLite
HAVING cláusula para especificar uma condição de filtro para um grupo ou um agregado. Introdução ao SQLite HAVING cláusula
SQLite
HAVING cláusula é uma cláusula opcional do SELECT demonstração. O HAVING A cláusula especifica uma condição de pesquisa para um grupo. Você costuma usar o
HAVING cláusula com o GROUP BY cláusula. O GROUP BY cláusula agrupa um conjunto de linhas em um conjunto de linhas ou grupos de resumo. Em seguida, o HAVING cláusula filtra grupos com base em uma condição especificada. Se você usar o
HAVING cláusula, você deve incluir o GROUP BY cláusula; caso contrário, você receberá o seguinte erro:Error: a GROUP BY clause is required before HAVINGCode language: JavaScript (javascript) Observe que o
HAVING cláusula é aplicada após GROUP BY cláusula, enquanto a WHERE cláusula é aplicada antes do GROUP BY cláusula. O seguinte ilustra a sintaxe do
HAVING cláusula:SELECT
column_1,
column_2,
aggregate_function (column_3)
FROM
table
GROUP BY
column_1,
column_2
HAVING
search_condition;Code language: SQL (Structured Query Language) (sql) Nesta sintaxe, o
HAVING cláusula avalia a search_condition para cada grupo como uma expressão booleana. Só inclui um grupo no conjunto de resultados finais se a avaliação for verdadeira. SQLite HAVING exemplos de cláusula
Usaremos as
tracks tabela no banco de dados de exemplo para demonstração.
Para encontrar o número de faixas de cada álbum, use
GROUP BY cláusula da seguinte forma:SELECT
albumid,
COUNT(trackid)
FROM
tracks
GROUP BY
albumid;Code language: SQL (Structured Query Language) (sql) Tente
Para encontrar os números de faixas do álbum com id 1, adicionamos um
HAVING cláusula para a seguinte declaração:SELECT
albumid,
COUNT(trackid)
FROM
tracks
GROUP BY
albumid
HAVING albumid = 1; Tente
Referimo-nos ao
AlbumId coluna na coluna HAVING cláusula. Para encontrar álbuns que tenham o número de faixas entre 18 e 20, use a função de agregação no
HAVING cláusula como mostrado na declaração a seguir:SELECT
albumid,
COUNT(trackid)
FROM
tracks
GROUP BY
albumid
HAVING
COUNT(albumid) BETWEEN 18 AND 20
ORDER BY albumid;Code language: SQL (Structured Query Language) (sql) Tente
SQLite HAVING cláusula com INNER JOIN exemplo
A instrução a seguir consulta dados de
tracks e albums tabelas usando a junção interna para localizar álbuns com duração total superior a 60.000.000 milissegundos. SELECT
tracks.AlbumId,
title,
SUM(Milliseconds) AS length
FROM
tracks
INNER JOIN albums ON albums.AlbumId = tracks.AlbumId
GROUP BY
tracks.AlbumId
HAVING
length > 60000000;Code language: SQL (Structured Query Language) (sql) Tente
Neste tutorial, você aprendeu como usar SQLite
HAVING cláusula para especificar a condição de pesquisa para grupos.