O open-source software de gerenciamento de banco de dados MySQL usa o padrão da indústria, Linguagem de Consulta Estruturada para transações de dados e manutenção de banco de dados . Tal como acontece com outros dialetos SQL , MySQL oferece um conjunto de funções agregadas que realizam matemática estatística sobre grupos de dados . Você pode misturar estas funções com a matemática padrão em seus programas, mas apenas sob certas condições. Funções de agregação
Embora a maioria das funções matemáticas em SQL fazer cálculos um registro de cada vez, as funções de agregação retornam resultados para todos os registros em um conjunto de dados ou grupo de registros em um conjunto. Por exemplo , a função " AVG ( ) " tem a média do campo especificado para todos os registros retornados por uma "SELECT" declaração , como o seguinte código SQL ilustra :
SELECT AVG ( total_sales ) FROM Clientes WHERE estado = ' NY ';
Esta declaração mostra o total das vendas médias para todos os clientes no estado de Nova Iorque. Ele exibe um único número. Você também pode quebrar as médias por estado , como nesta declaração :
Selecione estaduais, AVG ( total_sales ) de clientes GROUP BY estado ;
Isso exibe uma linha para cada estado , dando a média de vendas figura para todos os clientes no estado.
padrão Math
as funções matemáticas padrão no MySQL incluem adição, subtração , multiplicação e divisão , trigonometria, exponenciais e vários outros. Para campos em uma tabela , o MySQL realiza a matemática em cada registro. Por exemplo, para exibir o total de vendas para um registro de pedido , você pode multiplicar o preço unitário pela quantidade pedida como esta instrução SQL mostra :
Selecione unit_price , qty_ordered , unit_price * qty encomendado a partir de ordens;
a seguinte instrução SELECT não funciona , no entanto :
Selecione unit_price * qty_ordered , AVG ( unit_price ) FROM ordens;
a declaração tenta misturar funções agregadas e matemática padrão em uma inadequada caminho. A função AVG () retorna um valor único , embora o unit_price * cálculo qty_ordered pode retornar milhares de valores. Você não pode ter as duas coisas em uma única instrução .
Misturando Agregados
Você pode usar várias funções agregadas em uma única instrução SQL. Isso funciona porque cada agregado retorna um único valor . Por exemplo, se você deseja que a média, preços mínimos e máximos em uma tabela de pedidos , você poderia usar a seguinte declaração :
SELECT AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM ordens;
mistura de Agregados com campos padrão e Funções
Você mistura agregados com campos padrão do agrupamento de registros juntos, como mostra a seguinte declaração :
Selecione cod_produto , AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) FROM ordens GROUP BY cod_produto ;
Isso exibe uma linha por número do produto , mostrando o produto com a média, preços mínimos e máximos . Você pode misturar as funções padrão e agregados , desde que você grupo registra juntos , como no seguinte código SQL:
Selecione cod_produto , cost_per_m /1000 , AVG ( unit_price ) , MIN ( unit_price ) , MAX ( unit_price ) a partir de ordens GROUP BY cod_produto ;
esta declaração calcula um custo de um único item com base em um "custo por mill ", ou custo por mil unidades , e exibe esse número juntamente com a média , mínima e preço máximo . Você pode misturar as funções padrão e agregados , se as funções padrão aplicam-se aos agregados , como mostra este exemplo :
SELECT AVG ( unit_price ) , COUNT ( unit_price ) , AVG ( unit_price ) * COUNT ( unit_price ) FROM ordens;
Aqui , a instrução SELECT multiplica os resultados da AVG () e COUNT ( ) funciona em conjunto.