Como ordenar os últimos 12 registros pelo ID?

10/01/2018

0

Olá,

Tenho uma tabela que recebe um INSERT a cada 01 hora e consequentemente a coluna ID é PRIMARY (auto_Incremental)

Através do SELECT abaixo eu consigo visualizar os últimos 12 registros porém o ID vem de forma Decrescente devido devido ao uso do DESC

SELECT * FROM tabela ORDER BY id DESC LIMIT 12
id
212
211
210
209
208
207
206
205
204
203
202
201

Minha dúvida é: como faço para trazer os últimos 12 registros com o id ordenado de forma ASC crescente, sem ter que criar uma tabela temporária. Isso é possível?

Resultado esperado:
id
201
202
203
204
205
206
207
208
209
210
211
212
Rasmus Lerdof

Rasmus Lerdof

Responder

Post mais votado

10/01/2018

Ramus,

O SELECT enviado pelo Luiz Fernando esta correto, faltou apenas o ID depois do primeiro ORDER BY, veja abaixo:

SELECT TAB.ID
  FROM (SELECT ID 
          FROM TABELA 
         ORDER BY ID DESC LIMIT 12) AS TAB
 ORDER BY 1 ASC

Marcos Henrique

Marcos Henrique
Responder

Mais Posts

10/01/2018

Santos

Opa Rasmus, beleza?

Não sei se entendi bem, mas não é só você trocar o DESC por ASC?

Abraços!
Responder

10/01/2018

Rasmus Lerdof

Fagnerpsantos,

Desta forma não funcionaria pois eu preciso dos 12 últimos registros da tabela, se retirar o DESC vai retornar apenas os 12 primeiros, de forma cresceste.

De forma bem simplista eu preciso dos 12 últimos registros da tabela com o ID de forma crescente.
Responder

10/01/2018

Luiz Santos

Rasmus, tenta isso


SELECT TAB.ID
  FROM (SELECT ID 
          FROM TABELA 
		 ORDER BY DESC LIMIT 12) AS TAB
 ORDER BY 1 ASC



Grande abraço
Responder

10/01/2018

Rasmus Lerdof

Luiz,

Obrigado! Mas esta dando erro de syntax.
Responder

10/01/2018

Luiz Santos

Valeu Marcos.
É a fome, comi o ID...rs
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar