Ao longo do processamento e análise de dados, os histogramas o apóiam para representar a distribuição de frequência e obter insights facilmente. Veremos alguns métodos vários para obter distribuição de frequência no PostgreSQL. Para construir um histograma no PostgreSQL, você pode usar uma variedade de comandos de histograma PostGresql. Vamos explicar cada um separadamente.
Inicialmente, verifique se você possui shell da linha de comando postgreSQL e pgadmin4 instalado em seu sistema de computador. Agora, abra o shell da linha de comando postgreSQL para começar a trabalhar em histogramas. Ele pedirá imediatamente que você insira o nome do servidor em que deseja trabalhar. Por padrão, o servidor 'localhost' foi selecionado. Se você não entrar em um enquanto pular para a próxima opção, ele continuará com o padrão. Depois disso, ele solicitará que você insira o nome do banco de dados, o número da porta e o nome de usuário para trabalhar. Se você não fornecer um, continuará com o padrão. Como você pode visualizar a partir da imagem anexada abaixo, estaremos trabalhando no banco de dados 'teste'. Por fim, insira sua senha para o usuário em particular e prepare -se.
Exemplo 01:
Devemos ter algumas tabelas e dados em nosso banco de dados para trabalhar. Então, estamos criando uma tabela 'produto' no banco de dados 'teste' para salvar os registros de diferentes vendas de produtos. Esta tabela ocupa duas colunas. Um é 'order_date' para salvar a data em que o pedido for feito e o outro é 'p_sold' para economizar o número total de vendas em uma data específica. Experimente a consulta abaixo em sua casca de comando para criar esta tabela.
>> Crie produto da tabela (Data de Order_date, P_Sold Int);No momento, a tabela está vazia, então temos que adicionar alguns registros a ela. Então, tente o comando inserir abaixo no shell para fazê -lo.
>> Inserir nos valores do produto ('2021-03-01', 1250), ('2021-04-02', 555), ('2021-06-03', 500), ('2021-05-04' , 1000), ('2021-10-05', 890), ('2021-12-10', 1000), ('2021-01-06', 345), ('2021-11-07', 467 ), ('2021-02-08', 1250), ('2021-07-09', 789);Agora você pode verificar se a tabela recebeu dados usando o comando select, conforme citado abaixo.
>> selecione * do produto;Uso de piso e lixo:
Se você gosta de caixas de histograma PostGresql para fornecer períodos semelhantes (10-20, 20-30, 30-40, etc.), execute o comando SQL abaixo. Estimamos o número do compartimento da declaração abaixo, dividindo o valor de venda por um tamanho de lixeira do histograma, 10.
Essa abordagem tem o benefício de alterar dinamicamente as caixas à medida que os dados são adicionados, excluídos ou modificados. Ele também adiciona caixas adicionais para novos dados e/ou bintes de exclusão se sua contagem atingir zero. Como resultado, você pode gerar histogramas com eficiência no PostgreSQL.
Piso de troca (p_sold/10)*10 com piso (p_sold/100)*100 para aumentar o tamanho do compartimento até 100.
Usando onde a cláusula:
Você construirá uma distribuição de frequência que utiliza a declaração de casos enquanto entende as caixas de histograma a serem geradas ou como os tamanhos dos contêineres do histograma variam. Para PostgreSQL, abaixo está outra declaração de histograma:
>> Selecione '100-300' como price_between, count (p_sold) como contagem do produto onde P_Sold entre 100 e 300 união (selecione '300-600' como price_between, contagem (p_sold) como contagem do produto onde P_Sold entre 300 e 600 ) Union (selecione '600-900' como price_between, contagem (p_sold) como contagem do produto onde P_Sold entre 600 e 900) União (selecione '900-1300' como price_between, contagem (p_sold) como contagem do produto onde P_Sold entre 900 E 1300);E a saída mostra a distribuição de frequência do histograma para os valores totais da faixa da coluna 'P_Sold' e o número da contagem. Os preços variam de 300 a 600 e 900-1300, tem uma contagem total de 4 separadamente. O intervalo de venda de 600-900 tem 2 contagens, enquanto o intervalo de 100-300 tem 0 contagem de vendas.
Exemplo 02:
Vamos considerar outro exemplo para ilustrar histogramas no PostgreSQL. Criamos uma tabela 'aluno' usando o comando citado abaixo no shell. Esta tabela armazenará as informações sobre os alunos e a contagem de falhas que eles têm.
>> Crie a tabela aluno (std_id int, fail_count int);A tabela deve ter alguns dados. Então, executamos a inserção no comando para adicionar dados na tabela 'aluno' como:
>> Inserir nos valores dos alunos (111, 30), (112, 60), (113, 90), (114, 3), (115, 120), (116, 150), (117, 180), (118 , 210), (119, 5), (120, 300), (121, 380), (122, 470), (123, 530), (124, 9), (125, 550), (126, 50 ), (127, 40), (128, 8);Agora, a tabela foi preenchida com uma enorme quantidade de dados de acordo com a saída exibida. Possui valores aleatórios para std_id e o Fail_count dos alunos.
>> selecione * do aluno;Quando você tenta executar uma consulta simples para coletar as contagens totais de falhas que um aluno possui, você terá a saída abaixo do ponto abaixo. A saída mostra apenas o número separado de contagens de falhas de cada aluno uma vez do método 'contagem' usado na coluna 'std_id'. Isso parece não muito gratificante.
>> Selecione Fail_Count, Count (std_id) do grupo de estudantes por 1 pedido por 1;Usaremos o método do piso novamente neste caso por períodos ou intervalos semelhantes. Então, execute a consulta abaixo do estado no shell de comando. A consulta divide o 'Fail_count' dos alunos por 100.00 e depois aplica a função de piso para criar uma caixa de tamanho 100. Em seguida, resume o número total de estudantes que residem nesse intervalo específico.
Conclusão:
Podemos gerar um histograma com o PostgreSQL usando qualquer uma das técnicas mencionadas anteriormente, dependente dos requisitos. Você pode alterar os baldes do histograma em cada alcance que deseja; Intervalos uniformes não são necessários. Ao longo deste tutorial, tentamos explicar os melhores exemplos para limpar seu conceito sobre a criação de histograma no PostgreSQL. Espero que, seguindo qualquer um desses exemplos, você pode criar um histograma convenientemente para seus dados no PostgreSQL.