Gerando um relatório com o PL/SQL em Oracle usando GROUP BY e ORDER BY


Este tutorial foi concebido para ajudar os membros da minha equipe no meu banco de dados de classe da faculdade para o banco de dados Oracle na Universidade DeVry. Porque este banco de dados é específica para o projeto atribuído ao meu classes, de Claro que você não tem acesso à base de dados real. No entanto, as técnicas e os métodos utilizados aqui são uma boa introdução ao uso do PL/SQL para gerar relatórios no Oracle.

Neste relatório, nós temos a tarefa de criar uma lista de nome, o número de cada canal, e uma contagem do número de clientes que levou esse canal como um canal favorito.




Quando você olha para este cenário, a primeira coisa que se nota é que este será um GROUP BY situação. Isso ocorre porque uma das colunas de informações solicitadas está contando o número de clientes que escolheram cada canal como seu favorito. COUNT é uma função de agregação que geralmente resulta em coisas agrupamento.

Primeiros passos:

Com esta informação, podemos começar a olhar para o primeiro lugar para as colunas que precisamos ver. Eles querem que o número do canal, nome do canal, e uma coluna que exibe uma contagem de quantas pessoas escolheram cada canal. Em nossa ERD, podemos identificá-las como segue.

Chan_number SELECT, category_name, COUNT (chan_number)

É claro que não queremos nomes feios dadas aqui, por isso vamos usar aliases para exibir os nomes das colunas mais bonitas.

SELEÇÃO chan_number "Channel #", category_name "Categoria" COUNT (chan_number) "o cliente tenha escolhido como favorito"

Fazendo a conexão

Agora, já que estamos usando os dados de mais de uma tabela, precisamos combinar estas tabelas em conjunto como parte do FROM. Neste caso, ambas as tabelas (de Investigação e do Canal) usar o mesmo nome de PK/FK connect (chan_number). Assim, podemos usar a Junte-se usando comunicado.

A partir do canal Cadastre Inquérito USE (chan_number)

Este une as duas mesas em conjunto através do atributo chan_number.

Em Resumo:

Em seguida, temos o grupo de todas as instâncias do chan_number juntos para que tenhamos apenas uma instância de cada número do canal, enquanto o cálculo da conta de quantas vezes cada um aparece em clientes preferenciais.

GROUP BY chan_number, category_name

Por alguma razão, é necessário que ambos os atributos acima ser incluída na cláusula GROUP BY.

Organizer:

Finalmente, queremos colocar tudo isso em algum tipo de ordem organizada, então use o ORDER BY comunicado.

ORDER BY chan_number;

Saída:

Isto é o que a sua saída deve ser similar. Não precisa ser exato que você está livre para "pretty it up" como você quer, mas isso mostra a idéia básica.

código completo:

SELEÇÃO chan_number "Channel #", category_name "Categoria", COUNT (chan_number) "o cliente tenha escolhido como favorito" A partir do canal Cadastre Inquérito USE (chan_number) GROUP BY chan_number, category_name ORDER BY chan_number,

Outros recursos úteis

Conclusão:

Esperemos que este tutorial fosse útil para ajudar a compreender a tarefa de criar um relatório simples que usa PL/SQL em Oracle. Uma vez que você começa a testar instruções SQL juntos em uma instalação do Oracle para garantir que ele funciona.

(0)
(0)

Comentários - 0

Sem comentários

Adicionar um comentário

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caracteres restantes: 3000
captcha