SQL os 5 produtos mais vendidos
Queria fazer um sql que trouxesse os 5 produtos mais vendidos,
como faria isso com union ou como.
como faria isso com union ou como.
Acacio
Curtidas 0
Respostas
Motta
03/02/2004
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
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
GOSTEI 0
Acacio
03/02/2004
Não entendi direito esse teu sql. ali tem vários from dentro de um sql. Isso está certo?
GOSTEI 0
Motta
03/02/2004
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
Diga qual bd vc usa, talvez fique mais fácil ver uma solução
GOSTEI 0
Acacio
03/02/2004
Bom,eu estou utilizando por enquanto o paradox, mas em qual banco funciona isso, pois tentei no firebard e tbem não consegui.
GOSTEI 0
Motta
03/02/2004
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
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
GOSTEI 0
Gm.gui
03/02/2004
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
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
GOSTEI 0
Arnaldo Henrique
03/02/2004
Gostaria de listar os 10 primeiros registros de um campo em bd Oracle.
Não descobri nenhuma função como First ou top.
Não descobri nenhuma função como First ou top.
GOSTEI 0
Paulo_amorim
03/02/2004
Olá
Tente:
Espero que ajude
Até+
Tente:
SELECT * FROM tabela WHERE rownum < 11
Espero que ajude
Até+
GOSTEI 0
Arnaldo Henrique
03/02/2004
Brigadão meu chapa!!!
Deu certo, valeu pela força.
Arnaldo
Deu certo, valeu pela força.
Arnaldo
GOSTEI 0
Arnaldo Henrique
03/02/2004
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?
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?
GOSTEI 0
Arnaldo Henrique
03/02/2004
sobe
GOSTEI 0
Arnaldo Henrique
03/02/2004
SOBE
GOSTEI 0