Ir para conteúdo

POWERED BY:

Arquivado

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

KBR

Top com ORDER BY

Recommended Posts

Olá Pessoal!!!

 

Como faço para usar o TOP com ORDER BY, pois toda vez que uso, se eu ponho top 5 ele me retorna sempre um número diferente de registros.

 

SELECT TOP 5 * FROM TABELA ORDER BY DATA ASC

 

Se eu tenho 8 registros, ele me retorna só 5, agora se eu tenho uns 15, ele começa a me retornar 6, 7, 8 e daí em diante. Muito estranho. Alguém tem uma solução para isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK!!!A data foi apenas um exemplo.Eu tenho um contador de cliques e um campo "cliques" númérico em minha tabela (que também possui valores iguais).Bom... quem souber o porque disso, ou tiver uma solução para esse problema... poste aí... ficarei grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para selecionar somente 1 de cada valor igual seria o SELECT DISTINCT

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK!!!E consigo fazer uma sintaxe utilizando o DISTINCT e TOP juntas???Vou explicar. Tenho um sistema de notícias onde cada clique em cada notícia é adcionado ao BD.Quero fazer um sistema que me retorne as 15 mais lidas.A opção do SELECT DISTINCT é uma boa idéia, mas se eu tiver 50 registros com valores diferentes, ele vai me retornar 50.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal... agradeço e também tenho a mesma opnião!!! O sistema estará mentindo... é uma saída... mas estará mentindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma "gambiarra" seria usar um for depois da pesquisa, para mostrar só os 5 registros!, por exemplo:

for x=1 to 5
if not rs.EOF then
 response.write rs("campo")
 rs.movenext
else
 response.write "-"
end if
next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Taí... não tinha pensado nisso. Putz... é mesmo... e dá certo sim... Valew mesmo Salgado...Tanto aqui quanto no aspecto vive ajudando... :blink: :) ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma "gambiarra" seria usar um for depois da pesquisa, para mostrar só os 5 registros!, por exemplo:

for x=1 to 5 if not rs.EOF then  response.write rs("campo")  rs.movenext else  response.write "-" end ifnext
OK!!! Deu certo... mas tem uma função que se não tenha 15 registros, ele pega o total que tem. Pois com essa função, ele pega 15 e se não tiver 15 ele dá o erro BOF and EOF.

Compartilhar este post


Link para o post
Compartilhar em outros sites
OK!!! Deu certo... mas tem uma função que se não tenha 15 registros, ele pega o total que tem. Pois com essa função, ele pega 15 e se não tiver 15 ele dá o erro BOF and EOF.

você usou o código exatamente dessa maneira:

for x=1 to Seu_num

if not RS.EOF then

' mostre

' ande

end if

next

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri... fiz assim...if conta("conta")=1 thenate= 1end ifif conta("conta")=2 thenate= 2end ifif conta("conta")>=3 thenate= 6end iffor x=1 to ate' meu codtabela.movenextnext

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.