PC²
|
JUCUTUQUARA, VITÓRIA ES - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 31/08/2005 10:07 hs
Olá pessoal, estou querendo fazer um relatorio de itens mais vendidos. O caso é que tenho uma tabela com
CODIGO, NOME, VALOR UN, QTD, VALOR TOTAL Preciso de um SQL para pegar os TOP 20 mais vendidos em termos e R$ e em termos de QTD. Alguma idéia?
____________________________ PC² T+
|
|
|
|
|
Postada em 31/08/2005 12:07 hs
SELECT codigo,SUM(qtd) AS totqtd FROM tabela WHERE data >= '01/01/2005' GROUP BY codigo ORDER BY totqtd DESC LIMIT 1,20 Na cláusula WHERE você pode filtrar o que quiser. Dei um exemplo de data. Substitua qtd por valor para ter por valor Roberto Mendes
|
|
|
VACA
|
LIMEIRA SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 31/08/2005 12:10 hs
em acess eh soh usar o Top <numero> logo depois do select
"Quando estou fraco, aí então é que sou Poderoso"
|
|
|
|
Postada em 31/08/2005 13:10 hs
Só exemplificando... (os 3 primeiros regs. na ordem decrescente) SELECT top 3 * FROM Tabela1 order by qtd desc t+
|
|
|
Martini
|
PAROBÉ RS - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 01/09/2005 09:03 hs
Select C7_PRODUTO, Cast(C7_PRECO As Money) As C7_PRECO, Cast(C7_QUANT As Money) As C7_QUANT, Cast(C7_TOTAL As Money) As C7_TOTAL, Cast(TotGeral As Money) As TotGeral, Cast((C7_TOTAL * 100 / TotGeral) As Money) As PercTotal From ( Select C7_PRODUTO, C7_PRECO, C7_QUANT, C7_TOTAL, --total geral de compras no período ( Select Sum(C7_TOTAL) As C7_TOTAL From SC7010 Where D_E_L_E_T_ <> '*' And C7_EMISSAO Between '20040101' And '20041231' ) As TotGeral From ( --totais por produto Select C7_PRODUTO, Sum(C7_PRECO) As C7_PRECO, Sum(C7_QUANT) As C7_QUANT, Sum(C7_TOTAL) As C7_TOTAL From SC7010 Where D_E_L_E_T_ <> '*' And C7_EMISSAO Between '20040101' And '20041231' Group By C7_PRODUTO ) a ) b --ordenado em ordem decrescente em relação aos produtos que tem maior percentual no total de compras no período (utilizado em curva ABC) Order By PercTotal Desc
|
|
|