Grupo Postgres durante o dia

Grupo Postgres durante o dia
Uma declaração do grupo Postgres é usada para criar grupos das linhas que são obtidas a partir da instrução SELECT. Esta cláusula é útil quando precisamos usar as funções internas do Postgres com o comando select. Por exemplo, usando sum (), count (), podemos usar facilmente esta cláusula com a instrução SELECT. Este tutorial funcionará nesta cláusula para agrupar as linhas da relação de acordo com o dia a partir dos dados que você inseriu.

Sintaxe do grupo por cláusula

Selecione
coluna1,
name_of_function (column2)
DE
Name_of_table
Grupo por
colun_1;

O nome_of_function é a função interna principalmente como a função de contagem para contar o número de linhas que devem ser agrupadas de acordo. Enquanto no caso de duas colunas a serem usadas em uma instrução SELECT, usamos as duas colunas em seleção e no grupo por cláusula.

Implementação do grupo durante o dia

Considere o exemplo abaixo, no qual temos uma tabela chamada um país que contém todas as informações sobre país, identificação, nome e nome do continente. Aplicaremos um comando de grupo por parte da tabela.

O grupo por cláusula é aplicado na coluna, por isso selecionamos a coluna do continente para agrupar os países do mesmo continente. Primeiro, selecionamos a coluna específica que queremos agrupar. eu.e., continente. Em seguida, criamos uma nova coluna para exibir o resultado nisso. Esta coluna resultante é chamada Same_area. A função interna do PostgreSQL count () é usada aqui para contar os IDs que têm os mesmos continentes.

>> Selecione Continente como Same_ARea, Count (ID) do Country Group by Continent;

Isso dará os seguintes resultados em um comando recém -criado com a coluna contagem na execução. Portanto, o resultado mostra que dois continentes aparecem 2 vezes em uma tabela. Esses dois mesmos continentes são mencionados coletivamente para formar um grupo usando um grupo por cláusula.

Grupo durante o dia

Como vimos, um grupo por cláusula é usado com um nome de coluna específico, segundo o qual ele executa toda a declaração. Agora usaremos alguns exemplos para agrupar dados da tabela coletivamente, de acordo com os dias dos dados que usamos em tabelas. Um novo relacionamento será criado aqui para implementar um novo exemplo. Assim, usando o comando criativo s, um teste de nome nomeado é criado com 3 colunas, id, sujeito_name e test_date; O tipo de dados para esta variável é usado como data, porque precisamos agrupar dados da tabela de acordo com o dia.

>> Criar teste de tabela (ID inteiro, sujeito_name varchar (10), data_date data);

Depois de criar a tabela, precisamos inserir valores na tabela através de uma declaração de inserção. Ao inserir dados, deve -se garantir que os valores inseridos contenham as mesmas datas em duas ou mais linhas para evitar qualquer conflito enquanto agrupava as linhas de acordo. Porque dados diferentes não serão agrupados. A coluna test_date contém datas de acordo com o formato da data da função de data interna e deve ser escrito em vírgulas invertidas.

>> Insira no teste (id, sujeito_name, test_date) valores ('1', 'inglês', '2022-11-22'), ('2', 'química', '2022-8-06'), ( '3', 'Socialogy', '2022-11-22'), ('4', 'Math', '2022-8-06'), ('5', 'English', '2022-03-08 '), (' 6 ',' física ',' 2022-06-19 ');

Para ver os dados inseridos na tabela, use um comando select para ver o registro.

>> selecione * no teste;

Você pode ver que algumas linhas nas colunas test_date parecem semelhantes.

Exemplo 1
Usaremos a consulta selecionada com o grupo por cláusula para combinar os mesmos valores.

>> Selecione Date_trunc ('dia', test_date) como Combine_test, count (id) como contagem do grupo de teste por date_trunc ('dia', test_date);

Este comando contém a função de data interna para buscar os dias apenas a partir do valor da data inserido. Esta função leva a palavra -chave 'dia' para buscar dias e o nome da coluna no qual essa função deve ser aplicada como um parâmetro. E depois especificar uma nova coluna resultante; a função count () contará o total de IDs que são iguais. E a seleção é agrupada pelos dias resultantes que são convertidos a partir das datas que usamos.

Na execução, você verá o resultado acima. Você pode ver que aquelas linhas com as mesmas datas são combinadas como um grupo.

Exemplo 2
Novamente, considere o exemplo acima, mas agrupamos os dados usando duas colunas desta vez. Devemos selecionar esses dois itens que queremos usar com o grupo por cláusula; Caso contrário, o PostgreSQL não executa o comando. Usamos o ID e a coluna de data.

>> Selecione ID, date_trunc ('dia', test_date) como combin_test, count (id) como contagem do grupo de teste por id, date_trunc ('dia', test_date);

Desta vez, os valores não são agrupados. Porque quando usamos o grupo por cláusula com mais de uma coluna, a cláusula é aplicada pela primeira vez na primeira coluna e, em seguida, os resultantes são agrupados de acordo com a segunda coluna. Portanto, esta tabela resultante mostra que nenhuma linha é agrupada, pois todos os IDs são diferentes. Cada contagem de identificação mostra 1 para cada linha.

Exemplo 3
As datas com o mesmo número de dia e diferentes números de mês não são agrupados. É necessário ter dias, meses e anos os mesmos; Caso contrário, a linha tem o mesmo dia, mas meses e anos diferentes não são agrupados de acordo com os dias. Estes foram contados como linhas separadas. Para entender esse conceito, inseriremos novamente outra linha tendo o mesmo dia, mas outros atributos diferentes de datas.

Ao aplicar o mesmo grupo por cláusula na instrução SELECT, obteremos o resultado abaixo do citado. Você pode observar que a linha recém -inserida não está agrupada.

Exemplo 4
Os exemplos anteriores lidam com a extração e agrupamento do dia de acordo com o recurso Data. Mas agora, usaremos os nomes dos dias da semana como um valor de string. Usaremos um grupo por cláusula para agrupar as linhas de acordo com os mesmos dias. Crie uma nova tabela chamada Match tendo ID, nome e o dia da partida como atributos.

>> Crie correspondência de tabela (ID inteiro, nome Varchar (10), dia Varchar (10));

Agora vamos inserir dados usando uma declaração de inserção. Os dados do dia da coluna conterão o nome de dias com alguns valores semelhantes.

Agora, aplicaremos o grupo por cláusula para combinar os mesmos dias na coluna do dia como uma coluna resultante de um Combine_match.

>> Selecione o dia como Combine_match, Count (ID) como contagem do grupo Match Group por dia;

De acordo com o comando, os mesmos dias estão agrupados na coluna. E aqueles que não eram os mesmos são mencionados independentemente.

Agora vamos inserir novamente uma linha com o mesmo nome da partida com o mesmo nome do dia. As linhas anteriores têm dados com nomes diferentes de correspondência com os mesmos dias.

Use o grupo por cláusula junto com dois nomes de colunas e o dia. Agora, apenas aquelas linhas com os mesmos nomes e dias são agrupadas. Enquanto outros são exibidos sem agrupar.

>> Selecione o nome, dia, contagem (id) do grupo de match Group pelo nome do dia;

Conclusão

O artigo 'Postgres Group por dia' descreve a implementação no idioma PostgreSQL no Windows 10 usando o shell PSQL. Incluímos as funções internas nos recursos da data e também nos dados inseridos manualmente através de comandos. O grupo por cláusula ajuda a gerenciar dados para manter o mesmo tipo de dados alinhados e intactos.