Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
wootzor,
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.
Provalvemente existirá forma melhor de fazer mas com uma subquery consegues obter o resultado que pretendes:
SELECT FROM (SELECT FROM tabela ORDER BY id DESC LIMIT 12) AS t1 ORDER BY t1.id;
wootzor,
Deu certo, Muito obrigado pela ajuda!
A ordenação ascendente é assumida por defeito. Assim, se bem percebi o que pretendes, basta retirar o parâmetro de ordenação DESC da consulta.