SQLite tendo

Resumo : neste tutorial, você aprenderá como usar HAVINGa cláusula SQLite para especificar uma condição de filtro para um grupo ou agregado.

HAVINGIntrodução à cláusula SQLite

A cláusula SQLite HAVINGé uma cláusula opcional da SELECTinstrução. A HAVINGcláusula especifica uma condição de pesquisa para um grupo.

Você costuma usar a HAVINGcláusula com a GROUP BYcláusula. A GROUP BYcláusula agrupa um conjunto de linhas em um conjunto de linhas ou grupos de resumo. Em seguida, a HAVINGcláusula filtra grupos com base em uma condição especificada.

Se você usar a HAVINGcláusula, deverá incluí-la GROUP BY; caso contrário, você receberá o seguinte erro:

Error: a GROUP BY clause is required before HAVINGLinguagem de código:  JavaScript  ( javascript )

Observe que a HAVINGcláusula é aplicada após GROUP BYa cláusula, enquanto a WHEREcláusula é aplicada antes da GROUP BYcláusula.

O seguinte ilustra a sintaxe da HAVINGcláusula:

SELECT
	column_1, 
        column_2,
	aggregate_function (column_3)
FROM
	table
GROUP BY
	column_1,
        column_2
HAVING
	search_condition;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe, a HAVINGcláusula avalia search_conditionfor cada grupo como uma expressão booleana. Inclui apenas um grupo no conjunto de resultados final se a avaliação for verdadeira.

HAVINGExemplos de cláusulas SQLite

Usaremos a trackstabela do banco de dados de exemplo para demonstração.

Para encontrar o número de faixas de cada álbum, você usa GROUP BYa seguinte cláusula:

SELECT
	albumid,
	COUNT(trackid)
FROM
	tracks
GROUP BY
	albumid;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

Cláusula SQLite HAVING com função COUNT

Para encontrar o número de faixas do álbum com id 1, adicionamos uma HAVINGcláusula à seguinte declaração:

SELECT
	albumid,
	COUNT(trackid)
FROM
	tracks
GROUP BY
	albumid
HAVING albumid = 1;

Tente

SQLite HAVING com cláusula WHERE

Referimo-nos à AlbumIdcoluna na HAVINGcláusula.

Para encontrar álbuns com número de faixas entre 18 e 20, você usa a função agregada na HAVINGcláusula conforme mostrado na seguinte instrução:

SELECT
   albumid,
   COUNT(trackid)
FROM
   tracks
GROUP BY
   albumid
HAVING 
   COUNT(albumid) BETWEEN 18 AND 20
ORDER BY albumid;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

Exemplo SQLite HAVING COUNT

Cláusula SQLite HAVINGcom INNER JOINexemplo

A instrução a seguir consulta dados trackse albumstabelas usando 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;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Tente

SQLite HAVING com exemplo de operador maior que

Neste tutorial, você aprendeu como usar HAVINGa cláusula SQLite para especificar a condição de pesquisa para grupos.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *