Fórum Ajuda com SUM em SQL #225450
12/04/2004
0
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
Curtir tópico
+ 0Posts
12/04/2004
Djjunior
from vendas
group by NomeProd
Order by Sum(Qtde) desc
Gostei + 0
12/04/2004
Turbo Drive
Gostei + 0
12/04/2004
Marco Salles
[b:e53469a147]Use o Limit[/b:e53469a147]
Gostei + 0
12/04/2004
Turbo Drive
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.
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...
Gostei + 0
12/04/2004
Marco Salles
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...
Gostei + 0
12/04/2004
Aroldo Zanela
[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.
Gostei + 0
13/04/2004
Turbo Drive
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)