Conjuntos de agrupamento PostgreSQL

Conjuntos de agrupamento PostgreSQL
Neste artigo, o conceito de grupo de agrupamento será discutido no Postgres. Quando usamos uma tabela de várias colunas em nosso banco de dados, as diferentes colunas representam vários atributos de banco de dados e, às vezes, são difíceis de compreender. Portanto, esse problema é resolvido usando os conjuntos de agrupamento, nos quais agrupamos várias colunas relevantes necessárias para a saída ou para compilar uma soma para a saída resultante. Isso ajuda a reduzir as inúmeras consultas que teremos que correr para obter a mesma saída.

Conjuntos de agrupamento em SQL

Como discutido acima, o SQL nos permite agrupar colunas para fornecer saídas compiladas nas linhas de nossa tabela de banco de dados. Quando usamos tabelas em nosso banco de dados, nos concentramos nos valores para ter uma melhor compreensão. Ainda assim, a complexidade e escalabilidade dos dados tornam um aborrecimento para analisarmos os dados. É aqui que o conceito de agrupamento é útil, através do qual simplificamos as colunas de acordo com nossas necessidades e depois analisamos os dados simplificados com facilidade.

O conceito de agrupamento de conjuntos é realizado pelo comando "grupo por" e "conjuntos de agrupamento". Embora o comando "união all" no SQL possa executar a mesma tarefa, requer muitas sub-inter-questões. Ele impõe várias limitações, tornando -o inconveniente para o desenvolvedor e inferior à idéia de agrupar conjuntos, o que é mais conveniente e exato com precisão. O comando “Union All” exige o número exato de atributos com tipos de dados idênticos para cada coluna, por isso devemos escrever “nulos” em todos esses estados em nosso código, o que aumenta o número de linhas de consulta.

Em atualizações mais recentes desse idioma, o comando "Grupo By" é seguido pelo comando "Grupoing Sets", que não requer várias sub-questões, como a União, todos os comando e grupos o conjunto em uma forma simplificada. Para implementar esse conceito, teremos que seguir a sintaxe geral que está escrita abaixo:

Selecione
Primeira coluna,
Second_column,
agregate_function (terceiro_column)
DE
Name_of_the_table
Grupo por
Conjuntos de agrupamento (
(First_column, segundo_column),
(Primeira coluna),
(Second_column),
()
);

Usamos vários comandos na sintaxe anterior:

  • O primeiro é "Select", no qual escolhemos as colunas para calcular e receber o resultado e a função agregada para calcular e exibir a saída na última coluna. A função agregada é um método simples de agregar números em cada linha nas duas colunas: Sum, AVG, Min e Max.
  • Segundo, o comando "de" indica o nome da tabela em nosso banco de dados que estamos usando para compilar saídas. Depois disso, o comando "grupo por" é usado no qual há uma indicação de como queremos que as colunas sejam compiladas, e a ordem da saída também é definida na mesma expressão.

Conjuntos de agrupamento no PostgreSQL

Como estamos familiarizados com a sintaxe dos conjuntos de agrupamento agora, podemos analisar vários exemplos para ter um bom conhecimento de implementar esse conceito no PostgreSQL. Podemos executar o agrupamento com:

  • Duas colunas de uma mesa
  • Três colunas de uma mesa
  • Ordem por comando

Agrupando duas colunas de uma mesa

Este exemplo se referirá a um conjunto de agrupamento mais simples de apenas duas colunas. Primeiro, criaremos uma tabela denominada registros com atributos, como número do rolo, nome do curso e marcas, e com a ajuda do código fornecido no snippet seguinte:

Depois de criar uma tabela, inseriremos alguns valores de dados nas linhas de diferentes colunas que compilaremos no comando adicional de conjuntos de agrupamento:

Agora, escreveremos os seguintes comandos que ajudam nos conjuntos de agrupamento no SQL. O número do rolo do aluno será agrupado pela soma de todas as marcas em todos os cursos:

Quando executarmos o código anterior, obteremos a seguinte saída:

Como a produção sugere, todas as linhas são agrupadas sobre a soma de todas as marcas dos cursos. A soma de todas as marcas é mostrada contra o mesmo número de rolo. Podemos executar essa função, mesmo com mais de um número de rolo, pois agrupará o mesmo número de rolos de marcas do aluno na segunda coluna em relação ao número do rolo especificado.

Agrupando três colunas de uma mesa

Neste exemplo, criaremos uma tabela em nosso banco de dados de 4 colunas diferentes e usaremos o conceito de conjunto de agrupamento na tabela. Primeiro, teremos que executar o seguinte código para criar uma tabela.

Em seguida, inseriremos um conjunto de valores para dois alunos diferentes para vários cursos, as horas necessárias para o curso e depois as marcas desse curso.

Depois de executar e adicionar com sucesso os dados anteriores, passaremos para o agrupamento desses dados sobre o número de rolo do aluno e o nome do curso. Para fazer isso, escreveremos e executaremos o código no snippet seguinte:

A saída do código anterior é exibida na imagem a seguir:

Como você pode ver, simplificamos a tabela complexa em uma simplificada e desejada, agrupando -a em números e nomes de cursos e adicionando as marcas em caso de repetição. Isso aconteceu no número do rolo "205", cujas marcas de matemática foram adicionadas duas vezes desde que foram repetidas.

Também podemos agrupar as colunas anteriores apenas pelo nome do curso e obter a soma das marcas em cada curso. Para isso, escreveremos a seguinte consulta e depois a executaremos:

Nesta consulta, apenas agrupamos a coluna "Nome do curso", e a coluna "Marks" foi agrupada pela função agregada "soma". Depois que esta consulta for executada, a saída seria assim:

O resultado mostra uma visão geral mais refinada da tabela, e isso aponta para o fato de que o conceito de agrupamento de conjuntos nos dá uma versão muito simplificada da tabela para nos ajudar em nossa análise.

Conjuntos de agrupamento com o comando "Order By"

Podemos fazer conjuntos das colunas e obter a versão simplificada desejada da tabela, mas às vezes ainda parece desorientada. Portanto, podemos simplificar ainda mais isso usando o comando "Ordem por", que priorizará o atributo de acordo com nossa especificação. Após o comando "grupo por", este comando será executado. Para entender melhor o comando "Order by" com conjuntos de agrupamento, usaremos o exemplo anterior para aplicá -lo. À medida que agrupamos com sucesso as colunas na tabela no último exemplo, vamos encomendá -lo pelo nome do curso e pelo atributo Marks.

Nesta consulta, colocamos a saída para estar em ordem alfabética dos nomes do curso como a saída, como mostrado abaixo:

Também podemos solicitar a saída em ordem decrescente das marcas escrevendo esta consulta:

Conclusão

Neste tutorial, aprendemos sobre o conceito de agrupamento de conjuntos no SQL. A vantagem de usar o comando "Grupo por" sobre o comando "Union All" também foi discutido neste artigo. Depois disso, também implementamos esse conceito de agrupamento de conjuntos no ambiente PostGresql, que nos fez ter um melhor conhecimento desse importante conceito na linguagem de consulta estruturada. Por fim, analisamos diferentes maneiras de implementar esse conceito alterando alguns fatores e até ampliando os conjuntos de dados para monitorar a eficiência da saída. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e informações.