|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Critérios de seleção em SQL IIContinuamos com o group by, avg, sum e com o compute de sql-server. Combine os registros com valores idênticos, na lista de campos especificados, em um único registro. Para cada registro se cria um valor sumário se se inclui uma função SQL agregada, como por exemplo, Sum ou Count, na instrução SELECT. Sua sintaxe é:
SELECT campos FROM tabela WHERE criterio GROUP BY campos do grupo GROUP BY é opcional. Os valores de resumo se omitem se não existe uma função SQL agregada na instrução SELECT. Os valores Null nos campos GROUP BY se agrupam e não se omitem. Não obstante, os valores Null não se avaliam em nenhuma das funções SQL agregadas. Utiliza-se a cláusula WHERE para excluir aquelas filas que não deseja agrupar, e a cláusula HAVING para filtrar os registros uma vez agrupados. Ao menos que contenha um dado Memo ou Objeto OLE, um campo da lista de campos GROUP BY pode se referir a qualquer campo das tabelas que aparecem na cláusula FROM, inclusive se o campo não estiver incluído na instrução SELECT, sempre e quando a instrução SELECT incluir pelo menos uma função SQL agregada. Todos os campos da lista de campos de SELECT devem ou se incluir na cláusula GROUP BY, ou como argumentos de uma função SQL agregada. SELECT IdFamilia, Sum(Stock) AS StockAtual FROM Produtos GROUP BY IdFamilia Uma vez que GROUP BY combinou os registros, HAVING mostra qualquer registro agrupado pela cláusula GROUP BY que satisfaça as condições da cláusula HAVING. HAVING é similar a WHERE, determina que registros se selecionam. Uma vez que os registros se agruparam utilizando GROUP BY, HAVING determina quais deles serão mostrados. SELECT IdFamilia, Sum(Stock) AS StockAtual FROM Produtos GROUP BY IdFamilia HAVING StockAtual > 100 AND NomeProduto Like BOS* AVG Calcula a média aritmética de um conjunto de valores contidos em um campo especificado de uma consulta. Sua sintaxe é a seguinte: Avg(expr) Onde expr representa o campo que contém os dados numéricos para os que se deseja calcular a média ou uma expressão que realiza um cálculo utilizando os dados de tal campo. A média calculada por Avg é a média aritmética (a soma dos valores dividido pelo número de valores). A função Avg não inclui nenhum campo Null no cálculo. SELECT Avg(Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100 Count Calcula o número de registros devolvidos por uma consulta. Sua sintaxe é a seguinte Count(expr) Onde expr contém o nome do campo que se deseja contar. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, mas não outras das funções agregadas de SQL). Pode contar com qualquer tipo de dados inclusive texto. Embora expr possa realizar um cálculo sobre um campo, Count simplesmente conta o número de registros sem ter em conta que valores se armazenam nos registros. A função Count não conta os registros que têm campos null a não ser que expr seja o caractere asterisco (*). Se utilizar um asterisco, Count calcula o número total de registros, incluindo aqueles que contém campos null. Count(*) é consideravelmente mais rápida que Count(Campo). Não se deve colocar o asterisco entre aspas duplas ('*'). SELECT Count(*) AS Total FROM Pedidos Se expr identifica a múltiplos campos, a função Count conta um registro só se ao menos um dos campos não for Null. Se todos os campos especificados forem Null, não se contará o registro. Há que separar os nomes dos campos com ampersand (&). SELECT Count(DataEnvio & Transporte) AS Total FROM Pedidos Podemos fazer com que o gestor conte os dados diferentes de um determinado campo SELECT Count(DISTINCT Localidade) AS Total FROM Pedidos Max, Min Devolvem o mínimo ou o máximo de um conjunto de valores contidos em um campo especifico de uma consulta. Sua sintaxe é: Min(expr) Max(expr) Onde expr é o campo sobre o qual se deseja realizar o cálculo. Expr pode incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, porém não outras das funções agregadas de SQL). SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'Espanha' SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'Espanha' StDev, StDevP Devolve estimações do desvio padrão para a povoação (o total dos registros da tabela) ou uma mostra da povoação representada (mostra aleatória). Sua sintaxe é: StDev(expr) StDevP(expr) Onde expr representa o nome do campo que contém os dados que desejam avaliar ou uma expressão que realiza um cálculo utilizando os dados de tais campos. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, porém não outras das funções agregadas de SQL). StDevP avalia uma povoação, e StDev avalia uma mostra da povoação. Se a consulta contém menos de dois registros (ou nenhum registro para StDevP), estas funções devolvem um valor Null (o qual indica que o desvio padrão não pode se calcular). SELECT StDev(Gastos) AS Desvio FROM Pedidos WHERE País = 'Espanha' SELECT StDevP(Gastos) AS Desvio FROM Pedidos WHERE País = 'Espanha' Sum Devolve a soma do conjunto de valores contido em um campo especifico de uma consulta. Sua sintaxe é: Sum(expr) Onde expr representa o nome do campo que contém os dados que se desejam somar ou uma expressão que realiza um cálculo utilizando os dados de tais campos. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, mas não outras das funções agregadas de SQL). SELECT Sum(PrecoUnidade * Quantidad) AS Total FROM DetalhePedido Var, VarP Devolve uma estimação da variabilidade de uma povoação (sobre o total dos registros) ou uma mostra da povoação (mostra aleatória de registros) sobre os valores de um campo. Sua sintaxe é: Var(expr) VarP(expr) VarP avalia uma povoação, e Var avalia uma mostra da povoação. Expr o nome do campo que contém os dados que se desejam avaliar ou uma expressão que realiza um cálculo utilizando os dados de tais campos. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, mas não outras das funções agregadas de SQL) Se a consulta contiver menos de dois registros, Var e VarP devolvem Null (isto indica que a variabilidade não pode ser calculada). Pode utilizar Var e VarP em uma expressão de consulta ou em uma Instrução SQL. SELECT Var(Gastos) AS Variabilidade FROM Pedidos WHERE País = 'Espanha' SELECT VarP(Gastos) AS Variabilidade FROM Pedidos WHERE País = 'Espanha' COMPUTE de SQL-SERVER Esta cláusula acrescenta uma fila no conjunto de dados que se está recuperando, se utiliza para realizar cálculos em campos numéricos. COMPUTE age sempre sobre um campo ou expressão do conjunto de resultados e esta expressão deve figurar exatamente igual na cláusula SELECT e sempre se deve ordenar o resultado pela mesma ou ao memos agrupar o resultado. Esta expressão não pode utilizar nenhum ALIAS. SELECT IdCliente, Count(IdPedido) FROM Pedidos GROUP BY IdPedido HAVING Count(IdPedido) > 20 COMPUTE Sum(Count(IdPedido)) SELECT IdPedido, (PrecoUnidade * Quantidade - Desconto) FROM [Detalhes de Pedidos] ORDER BY IdPedido COMPUTE Sum((PrecoUnidade * Quantidade - Desconto)) // Calcula o Total BY IdPedido // Calcula o Subtotal
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Dentro de Tutorial de SQL Seguinte: Consultas de ação Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em Linguagem SQLComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |