Ir para conteúdo

Arquivado

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

Bruno Oliveira_45656

Php + MySql - Resultado de consulta

Recommended Posts

Olá programadores de plantão...

Como faço pra listar em ordem crescente os 3 últimos registros do meu banco de dados??

 

Preciso apenas da consulta que devo fazer no Mysql.

 

Exemplo...

Meu banco de dados possui os registros:

1 - registro1

2 - registro2

3 - registro3

4 - registro4

5 - registro5

 

Quero imprimir na tela:

3 - registro3

4 - registro4

5 - registro5

 

 

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

order by não te resolveu ?

 

manual

Compartilhar este post


Link para o post
Compartilhar em outros sites

mano tenta isso

SELECT * FROM [TABELA] ORDER BY [CAMPO] DESC LIMIT 3

nao tenho como testar aki pq soh tenho oracle, mas no oracle isso ai nao funfou... Testa ai no Mysql pra ver


Cara no Oracle funciona assim, acabei de testar...

SELECT * 
FROM Tabela
WHERE rownum<=3 
ORDER BY id DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

order by não te resolveu ?

 

manual

 

 

Nesse caso não resolve...

veja como ficaria seguindo o exemplo dado anteriormente:

 

order by ASC LIMIT 3

imprime na tela

1 - registro1

2 - registro2

3 - registro3

 

order by DESC LIMIT 3

imprime na tela

5 - registro5

4 - registro4

3 - registro3

 

Eu preciso que imprima

3 - registro3

4 - registro4

5 - registro5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno, essa expressão DESC na sql significa ordem descendente, ou seja, do maior para o menor, é só trocar DESC por ASC que significa ascendente ou seja do menor para o maior, fazendo isso vai sair o resultado que você quer

 

ou seja, vai ficar:

 

order by ASC LIMIT 3

3 - registro3

4 - registro4

5 - registro5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que estou me expressando errado!!

 

Imaginamos o facebook... Quando comentamos uma postagem... Essa postagem pode ter 100 ou 200 comentário... Mas em um primeiro momento, o Facebook só lista os 5 ou 6 últimos comentários...

 

Ou seja, imaginamos que os registros do meu BD estejam dessa forma:

 

id-1 | comentário um

id-2 | comentário dois

id-3 | comentário tres

id-4 | comentário quatro

id-5 | comentário cinco

id-6 | comentário seis

 

se eu fizer uma consulta - order by ASC LIMIT 3,

o resultado será:

 

id-6 | comentário seis

id-5 | comentário cinco

id-4 | comentário quatro

 

Nesse caso o ultimo registro retornado, não foi o ultimo registro inserido no BD.

 

No caso dos comentários do Facebook, o resultado é

 

id-4 | comentário quatro

id-5 | comentário cinco

id-6 | comentário seis

 

Ou seja, o ultimo registro retornado foi o ultimo registro inserido...

 

Eu preciso disso!!

Preciso imprimir os últimos 3 registros inseridos por ordem de inserção...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use dois campos no ORDER BY, o ID e a DATA.

 

Não resolveu meu problema... Mas o que talvez resolveria seria um consulta da consulta...

$resultado = $db->QueryFetchArrayAll("SELECT * FROM `tabela` WHERE `id`='consulta' ORDER BY `date` ASC LIMIT 3");

Preciso pegar o resultado dessa consulta e listar os 3 últimos registros em ordem crescente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aplique a mesma lógica usada em paginações, pois é isto que você quer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha, só a titulo de colaboração, essa consulta:

select * from TABELA where id in(select id from TABELA order by id desc limit 3)
order by id asc;

rodou de super boa no Postgres (versões 9.1 e 9.2);
ja no Mysql recebi a mensagem d q o Mysql ainda não suporta
"limit" na subconsulta, mas minha versão é antiga,
quem sabe contigo da certo.. tentahe..

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.