Fórum Ajuda com SUM em SQL #225450

12/04/2004

0

Boa tarde a todos.

Estou precisando gerar um gráfico com os 20 produtos mais vendidos, mas não sei como montar a minha instrução SQL. Sei que utiliza a instrução ´SUM´, mas como devo proceder ?

Grato pela atenção.


Turbo Drive

Turbo Drive

Responder

Posts

12/04/2004

Djjunior

selct top 20 NomeProd, sum(qtde)
from vendas
group by NomeProd
Order by Sum(Qtde) desc


Responder

Gostei + 0

12/04/2004

Turbo Drive

Estou usando o mysql 3.23.46 e infelizmente o ´top 20´ não funcionou. Existe alguma outra forma ?


Responder

Gostei + 0

12/04/2004

Marco Salles

Estou usando o mysql 3.23.46 e infelizmente o ´top 20´ não funcionou. Existe alguma outra forma ?


[b:e53469a147]Use o Limit[/b:e53469a147]


Responder

Gostei + 0

12/04/2004

Turbo Drive

Desculpe a ignorância, mas o ´limit´ não vai limitar a busca dos registros ? Por exemplo: select sum(qtde) from cupomvend LIMIT 0, 50;

Nesta instrução ele vai procurar apenas o 50 primeiros registros, e o que eu quero é buscar os 20 primeiros itens mais vendidos. O colega sugeriu utilizar a instrução ´TOP´, mas creio que o mysql não aceita. Existe alguma outra forma de pesquisa?

Grato pela atenção.


Responder

Gostei + 0

12/04/2004

Marco Salles

Nesta instrução ele vai procurar apenas o 50 primeiros registros, e o que eu quero é buscar os 20 primeiros itens mais vendidos. O colega sugeriu utilizar a instrução "TOP", mas creio que o mysql não aceita. Existe alguma outra forma de pesquisa

Sim, mas a Idéia é voce fazer uma pesquisa agrupando pelos items mais vendidos e no resultado desta pesquisa voce deve limitar a quantidade de registro usando o[b:723b5c6d99] limit[/b:723b5c6d99]..Desculpe,Eu tô com Muita Pressa, mas eu Volto ainda Hoje, Para Tentar Concluir esta Pesquisa...


Responder

Gostei + 0

12/04/2004

Marco Salles

A Idéia é a mesma que o [b:7cde1cbafa]djjunior[/b:7cde1cbafa] le pasou a unica diferenca é usar o limit ao inves do top...Eu Acho que o Limit, o Mysql Aceita.. Já o ´Top´, Eu Concordo com Voce...Acho que não aceita
select Limit 20 CodProd, sum(qtde) as Total 
from vendas 
group by CodProd 
Order by Total desc
....
Eu Estou na dúvida quanto a [b:7cde1cbafa]sintase[/b:7cde1cbafa] deste instrução [b:7cde1cbafa]Limit[/b:7cde1cbafa]...Se é Limit 0,19 :?:
ou se o coloca no fim :?: ..Note Que eu Segui o Mesmo principio do ´Top´, Porque o ´Top´ eu Sei Que é Um Predicado e ele Vem Logo Depois Do Select, mas eu não tenho a mesma certeza com relação ao [b:7cde1cbafa]Limit[/b:7cde1cbafa]...Mas voce pode testar aí e postar para nós...


Responder

Gostei + 0

12/04/2004

Aroldo Zanela

Colegas,

[quote:f47eb36413=´MySQL Manual´]The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must be integer constants. With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1): [/quote:f47eb36413]

mysql> SELECT * FROM table LIMIT 5,10;  # Retrieve rows 6-15
mysql> SELECT * FROM table LIMIT 5;      Retrieve first 5 rows


Notem que a cláusula LIMIT (conforme acima) pode ser utilizada como restrição para limitar o número de linhas RETORNADAS. Portanto, pode ser utilizada para o propósito da questão.


Responder

Gostei + 0

13/04/2004

Turbo Drive

GALERA Vcs são demais !!!!!!!!!!!!!

A instrução Limit deu certo, eis o código que retorna os 20 itens mais vendidos:
select codigo, sum(quantitem) as qtde from cupvend group by codigo Order by qtde desc limit 0, 20


Muito obrigado mesmo.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar