Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

KBR

Mostrar mais vendidos

Recommended Posts

Galera,

 

Seguinte, tenho uma tabela com os campos

 

id | id_titulo | data

 

Gostaria de saber qual select devo usar pra mostrar os mais vendidos, baseando no campo id_titulo, o que aparece mais vezes.

 

No aguardo.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, eu preciso exibir na tela o id_titulo mais vendido, ou seja, o que mais aparece nos registros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

baseando no campo id_titulo, o que aparece mais vezes.

você deve usar a função COUNT retorna o número de valores (valores nulos não serão computados) da coluna especificada.

exemplo

 

SELECT COUNT(column_name) FROM tabela order by id_titulo DESC

se tivesse um campo com numero de

vendas ficaria bem mais facil, teria que apenas ver o maior numero

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo, ele retorna o número de registros total da tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT Count(id_titulo) AS intTotal FROM tabela WHERE id_titulo=seu titulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK. Com esse select ele me retorna quantos foram vendidos, mas e se eu quiser ordenar por exemplo.

 

Os 10 mais vendidos.

 

Como faço a ordenação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria bom você ter um campo na tabela mais vendidos e fazer o SELECT atraves dele, depois pode até usar o SELECT TOP 10, pegando os 10 mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função SUM () retorna a soma total de uma coluna numérica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com essa estrutura de tabela nao rola em uma SQL só...

 

Oq você pode fazer é fazer primeiro uma SQL DISTINCT nos titulos.. ai dentro do loop dessa primeira, fazer outra SQL COUNT pegando os titulos da primeira consulta e jogando em uma variavel, só assim você poderá fazer isso com essa estrutura...

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você tivsse um campo na sua tabela, com o nome de numero de vendas poderia usar direto o SELECT MAX e ele mostraria a maior quantidade de vendas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte amigo, eu falei com meu pai que é DBA e ele me passou um sql que retorna o que você pediu:

 

select CAMPO, count(*) as qtd from TABELA group by CAMPO having count(*) = (select max(count(*)) from TABELA group by CAMPO)

Espero que te ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o SELECT MAX no campo que você quer saber o maximo valor de vendas

como citei acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código de nosso amigo augustoclaro é o que provavelmente mais se aproxima da solução, mas acho que pode ser simplificado da seguinte forma:

 

select id_titulo, count(*) as qtd  
from tabela  
group by id_titulo  
order by qtd desc

Caso não funcione desta forma (não lembro se o Access aceita nesta sintaxe), tente o seguinte:

 

select id_titulo, count(*) as qtd  
from tabela  
group by id_titulo  
order by count(*)

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.