Jump to content


Photo

Ordenar Pelo Mais Vendido


  • Faça o login para participar
13 replies to this topic

#1 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 06/01/2005, 13:58

Boa tarde,

Estou montando uma lista dos produtos mais vendidos, na tabela pedidos, tem o campo quantidade e os demais campos com as infos do produto, comprador e vendedor. OK?
Agora como listo pelos mais vendidos?
Usando essa query:
$sql = mysql_query("SELECT SUM(quantidade) AS total FROM pedido order by total ASC");

Eu tenho o total de quantidade, mas não exibe o resto das informações.
Mas como ordenar pela maior quantidade?
Abraços
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#2 paes

paes

    GustavoPaes.Net

  • Usuários
  • 1393 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Rumo ao topo!

Posted 06/01/2005, 16:10

em qual tabela você tem os produtos ??
e em qual tabela você tem a qtdade de produtos que foram vendidos ??

flw
Site: GustavoPaes.net

^ Rumo ao Topo ^

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 06/01/2005, 16:15

$sql = mysql_query("SELECT *, SUM(quantidade) AS total FROM pedido order by quantidade DESC");


Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 06/01/2005, 18:18

Não deu certo não ....
paes, está tudo na mesma tabela, id produto, nomeproduto, quantidade, preco, comprador e vendedor.

Deu erro no while.
$s = mysql_query("SELECT *, SUM(quantidade) AS total FROM pedido order by quantidade DESC");

while($x=mysql_fetch_array($s)){
$id_prod= $x['id_prod'];
$produto= $x['produto'];

Abraço
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#5 kurole

kurole

    Ativo

  • Usuários
  • 345 posts
  • Sexo:Não informado

Posted 06/01/2005, 21:10

$s = mysql_query("SELECT * SUM(quantidade) AS total FROM pedido order by quantidade DESC");

Edição feita por: kurole, 06/01/2005, 21:11.


#6 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 06/01/2005, 22:00

Não deu certo tbm...
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#7 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 07/01/2005, 00:50

já tentou assim?

$sql = mysql_query("SELECT * FROM pedido ORDER BY total ASC");

eu tenho um semelhante, que lista as notícias mais vistas e funfa na boa
Posted Image

#8 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 07/01/2005, 13:04

Acontece que ele teria que pegar o resultado total (da soma das quantidades) antes... pq cada produto vendido é inserido uma linha na tabela com nome, quantidade e o preco, ai precisa somar a quantidade de todos os produtos e fazer a ordem pelo mais vendido...
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#9 ffmm

ffmm

    Veterano

  • Usuários
  • 1224 posts
  • Sexo:Não informado

Posted 07/01/2005, 13:31

Tente essa query:
SELECT nome, SUM(quantidade) AS total FROM pedido GROUP BY nome ORDER BY total DESC
Ela vai retornar o nome e a soma de quantidades de cada produto, ordenando eles pela quantidade em ordem decrescente.

#10 Robocop

Robocop

    Normal

  • Usuários
  • 72 posts
  • Sexo:Não informado
  • Interesses:Mulheres!!!

Posted 07/01/2005, 14:07

É a mesma coisa que o fnsp postou lá em cima, só que ele se confundiu no final. Ele colocou "order by quantidade" quando deveria ser "order by total".


$sql = mysql_query("SELECT *, SUM(quantidade) AS total FROM pedido order by total DESC");


Obs.: Não acho que o "group by" seja necessário nesse caso.

#11 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 07/01/2005, 14:39

É a mesma coisa que o fnsp postou lá em cima, só que ele se confundiu no final. Ele colocou "order by quantidade" quando deveria ser "order by total".


$sql = mysql_query("SELECT *, SUM(quantidade) AS total FROM pedido order by total DESC");


Obs.: Não acho que o "group by" seja necessário nesse caso.

Robocop...

Achou errado.

Vc sabe explicar a função do group by e a função do order by??? Sabe a diferença entre group by e distinct??
------
Mero mortal!

#12 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 07/01/2005, 18:58

o GROUP BY já ta dizendo: agrupar os resultados e mostrar tudo de uma vez

ORDER BY: ordenar os registros retornado de uma consulta

DISTINCT serve para não repetir os valores de um resultado de uma consulta

satisfeito ?
Posted Image

#13 danilodepolli

danilodepolli

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 07/01/2005, 22:36

Bom galera, acho que agora ficou perfeito.. valeu..

O que ficou resolvido...

Não deu certo ---->
$sql = mysql_query("SELECT *, SUM(quantidade) AS total FROM pedido order by total DESC");

Deu certo, perfeito!  ------> SELECT nome, SUM(quantidade) AS total FROM pedido GROUP BY nome ORDER BY total DESC

Valeu a todos!!
Tanks mesmo!
Danilo Depolli
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br

#14 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 13822 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 16/10/2017, 20:37

Pacific Care Canada Cephalexin Penicillin Taken Together Nolvadex Bodybuilding cialis Levitra Nitroglycerin Interaction Canadian Pharmecy Order Ed Pills
Propecia 10 Years Hairloss Amoxicillin Symtoms levitra coupon free trial Does Keflex Treat Impetigo Costo Cialis In Francia Generico Cialis Farmacia
Fedex Shipping Amoxicilina Website Express Delivery Aberdeenshire Comprar Cialis Valparaiso Levitra Nuevo cialis Achat Cialis Gratuit Proscar Y Propecia Fedex Acticin Purchase Overseas Derby




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq