Ir para conteúdo

Arquivado

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

Ronaldo_Marcos

Selecionar os maiores por categoria com três order by

Recommended Posts

Boa noite vejam minha sugestão de tabela:

codigo | categoria | contador | data | hora

Codigo é a chave primaria, categoria são tipos diferentes de registros, contador marca quanta vezes foi acessado. Minha intenção é:

- Selecionar apenas um único registro por categoria;
- Esses registros (um de cada categoria) precisam ser da data de hoje;

- Cada um desses registros deve ser o que tem o contador com valor maior.

Problema 01 - Eu poderia simplesmente fazer uma consulta usar group by na categoria, e dois order (data e hora) contudo, o group tem de vir antes do order, entao não ia funcionar ordernar pela data depois.

Problema 02 - Usar três order by apenas diretamente só considerará apenas dois;

Problema 03 - Fazer uma subconsulta pegando apenas o ultimo dia ordenado pelo contador é indiferente, pois ele não considera a ordem da subconsulta na consulta de 'primeiro nível'.

Alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria isto !? Creio q nao

 

Select categoria,max(contador) qtd

From tabela

Where data = date()

Group by categoria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta, isso: max(contador) qtd, resolveu tudo, meu select é bem maior, tem uma terceira subconsulta, resumi ali para ficar mais fácil, o max na segunda subconsulta eliminou meu problema do order by e deixou eu fazer todo o resto no select principal. Obrigado.

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.