PL/SQL Agregar dados – Funções (Agrupar dados).

1

fevereiro 14, 2011 por Geisimar Rech

Agradecimentos ao Rosenildo por mais este tutorial de PL/SQL.

Comandos

– AVG ( ) Faz a media Aritimética

– COUNT ( ) Conta todos os registros

– MAX ( ) traz o nº max. da coluna em especificação na tabela no banco

– MIN  ( ) Traz o nº min. da coluna em especificação na tabela no banco

– STDDEV ( )

– SUM ( ) Soma todos os valores do tipo real de uma determinada tabela no banco

– VARIANCE ( )

Structured:

Cláusula where não é usada em agregação de dados, mas substituída pelo HAVING, mas também não me impede de usar o where em determinadas situações exemplo abaixo:

SELECT <columns> FROM <tables>

[HAVING <conditions>] // substituição Where por Having

[GROUP BY <columns>]

[ORDER BY <columns>]

1)

SELECT AVG(LASARY) AS MEDIA DOS SALARY

,MIN(SALARY) AS MIN

,MAX(SALARY) AS MAX

,SUM(SALARY) AS SUM

FROM EMPLOYEES

 

 

Obs.: Neste exemplo fiz um select com as funções AVG, MIN, MAX SUM onde cada uma delas faz sua função. Veja que a media veio com o valor quebrado, a função AVG trás o resultado final para diminuir este valo podemos arredondar

SELECT  ROUND(AVG(LASARY)) AS MEDIA DOS SALARY

,MIN(SALARY) AS MIN

,MAX(SALARY) AS MAX

,SUM(SALARY) AS SUM

FROM EMPLOYEES

2)

SELECT COUNT(*) FROM EMPLOYEES

 

 

Obs.: A Função Count ( ) conta tudo aquilo que vc colocar entre os parêntese, no exemplo coloque * para Count contar todos os registros poderia ter colocado uma coluna de um tabela tbm… exemplo:

SELECT COUNT (EMPLOYEE_ID) FROM EMPLOYEES traria o mesmo resultado que o (*), isso venha ser um parâmetro que você aponta como requerido

3)

SELECT COUNT (DISTINCT DEPARTMENT_ID) FROM EMPLOYEES

Diferença entre Count e Distinct:

Count conta todos os registro de uma coluna apontada para uma determinada tabela, ou seja, se existir 3 departamentos com o nº 5, ele conta como sendo diferente um do outro, já o Distinct não, ele conta os departamentos repetidos, mas considera apenas um, trazendo assim o nº exato de departamentos.

à Como se nota usei o comando COUNT onde ele pode trabalhar de forma distinta e dentro dele o DISTINCT isso nos proporciona grande vantagem em me trazer apenas valores únicos em consultas, onde primeiramente executo o comando Distinct e logo após o Count vem e conta os departamentos encontrados pelo Distinct

——— GROUP BY, ORDER BY ———-

SELECT DEPARTMENT_ID

,JOB_ID

,ROUND(AVG(SALARY)) AS MEDIA_SALARIO

FROM EMPLOYEES

HAVING AVG(SALARY) > 6000

GROUP BY DEPARTMENT_ID, JOB_ID

ORDER BY DEPARTMENT_ID

About these ads

One thought on “PL/SQL Agregar dados – Funções (Agrupar dados).

  1. Marcos 1º ADS disse:

    Gostaria de mais exemplo sobre PL, muito interessante, por favor mais exemplos

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: