Fórum SQL os 5 produtos mais vendidos #211332

03/02/2004

0

Queria fazer um sql que trouxesse os 5 produtos mais vendidos,
como faria isso com union ou como.


Acacio

Acacio

Responder

Posts

03/02/2004

Motta

qual bd ?

alguns tem sintaxe propria para isto

select top ....
sqlserver, se não me engano.

para outros vc pode fazer uma query , desde que aceite tabela virtual

exemplo 5 maiores

valores
---------
qtd_moeda

SELECT *
FROM (SELECT VP1.*,(SELECT COUNT(*)
FROM (SELECT DISTINCT(QTD_MOEDA) QTD_MOEDA
FROM VALORES VP2) T
WHERE T.QTD_MOEDA > VP1.QTD_MOEDA) QTD
FROM VALORES VP1) TUDO
WHERE QTD < 5
ORDER BY 4 DESC


Responder

Gostei + 0

04/02/2004

Acacio

Não entendi direito esse teu sql. ali tem vários from dentro de um sql. Isso está certo?


Responder

Gostei + 0

04/02/2004

Motta

Sim, porém nem todos os bd´s aceitam esta sintaxe.

Diga qual bd vc usa, talvez fique mais fácil ver uma solução


Responder

Gostei + 0

04/02/2004

Acacio

Bom,eu estou utilizando por enquanto o paradox, mas em qual banco funciona isso, pois tentei no firebard e tbem não consegui.


Responder

Gostei + 0

04/02/2004

Motta

Acho que com Paradox não dá para fazer via sql.

tente assim:

faça um sql

select cod_produto,sum(valvendas)
from vendas
order by 2 desc

No Delphi leia o DataSet e Imprima os 5 maiores


Responder

Gostei + 0

20/07/2004

Gm.gui

Amigo sei que é um pouco tarde, eu também apanhei para este assunto, mas resolvi facíl apesar de tudo,

Como eu queria isso somente para relatório, no rave possui uma opção para imprimir um certa quantidade de linhas, eu queria os 10 primeiros, mandei ele imprimir somenta 10 linhas na databand. com o comando sql foi este

Select produto, Count(produtol) as Quantidade
from vendas
group by produto
having Count(produtol) > 1
order by 2 desc

espero ter ajudo apesar do atraso


Responder

Gostei + 0

20/09/2004

Arnaldo Henrique

Gostaria de listar os 10 primeiros registros de um campo em bd Oracle.
Não descobri nenhuma função como First ou top.


Responder

Gostei + 0

20/09/2004

Paulo_amorim

Olá

Tente:

SELECT * FROM tabela
WHERE rownum < 11


Espero que ajude
Até+


Responder

Gostei + 0

20/09/2004

Arnaldo Henrique

Brigadão meu chapa!!!
Deu certo, valeu pela força.
Arnaldo


Responder

Gostei + 0

22/09/2004

Arnaldo Henrique

analisem minha instrução sql:

Select Sum(F.Total_Produtos) Soma, C.Nome
from Faturamento F, Cad_Clientes C
where F.Cod_Cliente = C.Cod_Cliente and
MES Between vData1 and vData2 and
ANO Between vANO1 and vANO2
Group By C.Nome
Order By Soma Desc

blz, ela atende para que eu quero, mas preciso fazer que o resultado apareca de acordo com um valor que o usuário escolha. Exemplo os 10, 5, 20 maiores resultados.
tentei rownum como foi sugerido mas só deu certo se tirasse as outras condições de busca.
O que fazer?


Responder

Gostei + 0

22/09/2004

Arnaldo Henrique

sobe


Responder

Gostei + 0

22/09/2004

Arnaldo Henrique

SOBE


Responder

Gostei + 0

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

Aceitar