Cálculo da MODA

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
wilsonrneto
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 17 Mar 2011 9:19 am
Localização: Manaus - AM

Caros, eu tenho a seguinte situação. preciso calcular a moda de um valor de produto determinado pela soma de suas quantidades.


SELECT
tp_produto,
SUM (qt_item) AS qtde,
SUM (valor_bruto) AS total,
AVG (valor_unitario) AS media,
STDDEV (valor_unitario) AS desvio,
STATS_MODE (valor__unitario) AS moda
FROM
produtos_vendidos
WHERE
-----
GROUP BY
tp_produto


exemplo apenas:

id tp_produto nr_produto qnt_item valor_unitario valor_bruto
1 'bola' 12 25 1,00 25,00
2 'bola' 13 10 2,00 20,00
3 'bola' 13 12 2,00 18,00

pelo STATS_MODE minha moda é 2,00, pelo fato de aparecer com mais frequencia... Isso não deixa de está correto, entretando na lógica do negocio a moda é baseada na quantidade de items, com isso meu resultado real da moda é 1,00 por vender 25 unidades enquanto o produto 13 vendeu 22 unidades no total.

eu consegui fazer isso usando uma subquery só que gostaria de saber se alguém tem alguma solução melhor para este problema.

media e desvio eu os coloquei ai porque essas informacoes são importantes e dependem da variação dos valores dos itens.
alexandervinson
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 29
Registrado em: Qua, 17 Nov 2010 8:29 am
Localização: Belem - Para

Olá Wilson,

Se eu entendi corretamente queres calcular ( utlizando a função STATS_MODE) qual produto foi mais vendido.....
Se for o caso, não podes usar a tabela

id tp_produto nr_produto qnt_item valor_unitario valor_bruto
1 'bola' 12 25 1,00 25,00
2 'bola' 13 10 2,00 20,00
3 'bola' 13 12 2,00 18,00

que tem em uma única coluna (qnt_item) para fazer pela moda...
A moda deve ser calculada em cima de uma tabela que tenha a listagem das vendas (provalvemente vai ser a que geroou os valores 25, 10,12)
wilsonrneto
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 17 Mar 2011 9:19 am
Localização: Manaus - AM

neste meu caso, eu realmente não poderei usar o STATS_MODE, pois não me trará o resultado esperado pelo negocio.

Este exemplo de tabela já é o dos itens vendidos.. :)

Obrigado por responder.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes