Colunas calculadas no SharePoint | Uma visão geral
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Neste tutorial, discutiremos algumas maneiras pelas quais podemos usar ou executar a cláusula HAVING em funções de agregação SQL . O uso dessa cláusula em funções de agregação SQL pode ajudar muito no resumo de dados.
A cláusula HAVING é quase semelhante à instrução WHERE e também pode ser executada junto com ela.
Discutiremos suas correlações e diferenças fornecendo exemplos conforme avançamos neste tutorial.
Índice
Instruções GROUP BY e WHERE no SQL
Para nosso primeiro exemplo, discutiremos como executar a cláusula WHERE e GROUP BY usando a tabela de exemplo abaixo. Observe que só podemos usar a cláusula WHERE com colunas existentes e não apenas em funções agregadas.
Digamos que queremos obter as vendas totais de um produto com base em sua coluna SaleAmount em que o valor é maior que 2 . Para obter o resultado, nosso comando deve ser o seguinte:
Primeiro, selecionamos o ProductName e agregamos o SaleAmount para obter o TotalSales.
Em seguida, usamos a instrução WHERE aqui, pois estamos tentando obter apenas os produtos em que SaleAmount é maior que 2. O comando 'GROUP BY ProductName' indica que agrupará linhas na coluna ProductName em uma.
Ao executar nosso conjunto de comandos, veremos que de todos os dados nas colunas ProductName e SaleAmount , apenas Bulb e Fan foram exibidos. Isso porque eles eram os únicos com um SaleAmount maior que 2.
Neste exemplo, a instrução WHERE serve para filtrar resultados com uma coluna existente, que é nosso SaleAmount . Além disso, observe que a instrução WHERE aparece antes de GROUP BY e não pode ser usada para filtrar funções de agregação. Por outro lado, a cláusula HAVING aparece após o GROUP BY e é usada para filtragem com base em uma função agregada.
Cláusula GROUP BY e HAVING no SQL
Neste exemplo, vamos demonstrar a diferença entre a instrução WHERE e a cláusula HAVING . Usaremos o mesmo objetivo do exemplo anterior para que possamos comparar e avaliar os resultados.
Vamos primeiro exibir os produtos com suas vendas totais usando o comando abaixo. Como você pode ver, nosso primeiro comando ainda é o mesmo que nosso primeiro comando executando a instrução WHERE .
Se formos executar nossos dois primeiros comandos, teremos o seguinte resultado:
Agora, digamos que queremos apenas exibir produtos cuja venda total seja superior a 5. Não podemos usar a instrução WHERE , pois ela só pode ser usada com colunas existentes. Portanto, precisamos usar a cláusula HAVING , pois estaremos filtrando a partir de uma função agregada.
Observe como usamos a cláusula HAVING após GROUP BY , ao contrário da instrução WHERE usada antes de GROUP BY. Isso ocorre porque o SQL agrupará os registros antes de avaliar a cláusula HAVING .
Vamos então executar esses comandos junto com HAVING SUM(SaleAmount)>5 . Depois de especificar que queremos obter apenas os produtos cujo preço total seja superior a 5, veremos que em nossa tabela de resultados atual, não veremos mais a Pena . Isso porque seu total é menor que 5 .
Resumindo, quando queremos filtrar dados de nossa tabela com base em uma coluna existente, usamos a cláusula WHERE , enquanto quando queremos filtrar dados de uma função agregada, usamos a cláusula HAVING .
Cláusula HAVING e WHERE no SQL Server Management Studio (SSMS)
Agora, avançaremos discutindo e demonstrando como podemos executar a cláusula HAVING no SQL Server Management Studio (SSMS). Também abordaremos a diferença entre a cláusula HAVING e a cláusula WHERE fornecendo exemplos.
Abaixo estão nossos dados de amostra SalesOrderHeader. Esses dados consistem em 100 linhas. Para nosso exemplo, queremos obter TotalSale por CustomerID onde TotalSale é maior que 10000 . Observe que a venda total é baseada na soma dos valores da coluna TotalDue .
Primeiro, deixe-me demonstrar por que não podemos usar a cláusula WHERE quando queremos filtrar uma função agregada com base em nosso exemplo acima.
Usaremos o exemplo de conjunto de comandos da imagem abaixo. Como você pode ver, tecnicamente temos o mesmo conjunto de comandos do nosso primeiro exemplo.
No entanto, quando clicamos em Executar no canto superior esquerdo, isso resultará em um erro porque não podemos usar a cláusula WHERE sozinha quando estamos filtrando na função agregada.
Para corrigir o erro, precisamos filtrar o resultado usando a cláusula HAVING em vez da cláusula WHERE . Nosso novo conjunto de comandos deve ser semelhante à imagem abaixo.
Agora, podemos ver que nosso erro foi corrigido e contém os resultados por CustomerID com TotalSale maior que 10000 .
Novamente, a cláusula WHERE é sempre usada antes da cláusula GROUP BY , enquanto a cláusula HAVING é sempre usada após uma cláusula GROUP BY .
Usando as cláusulas HAVING e WHERE no SQL
Para este exemplo, digamos que queremos usar a cláusula WHERE e HAVING ao mesmo tempo. Vamos tentar obter o TotalSale por CustomerID onde TotalSale é maior que 10000 mas somente com clientes onde seu TerritoryID é igual a 1 .
Como queremos filtrar os resultados com clientes que tenham 1 como TerritoryID , usaremos a cláusula WHERE. Portanto, nosso comando deve ser o mesmo que o anterior. Novamente, adicionamos uma cláusula WHERE antes da cláusula GROUP BY.
Por enquanto, não podemos ver muita diferença entre nosso resultado anterior e este novo. No entanto, se você observar atentamente o canto inferior direito, agora temos apenas 64 linhas em comparação com a anterior com 505 linhas de dados. Isso ocorre porque os resultados também são filtrados com base em seu TerritoryID .
Conclusão
Para resumir, só podemos usar a cláusula WHERE com colunas existentes. Se precisarmos filtrar com funções agregadas, precisamos usar a cláusula HAVING .
Usar a cláusula HAVING em funções de agregação SQL e praticar maneiras de executar a cláusula HAVING e a cláusula WHERE juntas pode fornecer conveniência aos usuários ao trabalhar em um grande número de dados ou registros.
Espero ter fornecido a você informações e compreensão suficientes sobre como usar a cláusula HAVING em funções de agregação SQL. Se você quiser saber mais sobre este tópico e outros conteúdos relacionados, certamente pode conferir a lista de links relevantes abaixo.
Tudo de bom,
Hafiz
Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.
Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates
Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.
Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.
Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.
Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.
Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.
O que é self em Python: exemplos do mundo real
Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.
Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.