Como ordenar os últimos 12 registros pelo ID?

MySQL

PHP

Banco de Dados

10/01/2018

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

Curtidas 0

Melhor post

Marcos Henrique

Marcos Henrique

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
GOSTEI 2

Mais Respostas

Santos

Santos

10/01/2018

Opa Rasmus, beleza?

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

Abraços!
GOSTEI 0
Rasmus Lerdof

Rasmus Lerdof

10/01/2018

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.
GOSTEI 0
Luiz Santos

Luiz Santos

10/01/2018

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
GOSTEI 1
Rasmus Lerdof

Rasmus Lerdof

10/01/2018

Luiz,

Obrigado! Mas esta dando erro de syntax.
GOSTEI 0
Luiz Santos

Luiz Santos

10/01/2018

Valeu Marcos.
É a fome, comi o ID...rs
GOSTEI 0
POSTAR