To com mais um probleminha aqui, preciso pegar o último registro de um tabela do meu SGBD postgre, eu vi exemplos na web do tipo: SELECT campo FROM tabela ORDER BY id DESC, mas ao longo da implementação notei que as vezes os registros alteram suas posições quando são atualizados (UPDATE), eu estava usando o LIMIT nro OFFSET nro até então mas como vou descobrir qual é o OFFSET correto para este caso?
O velho SELECT MAX(ID) FROM SUA_TABELA não funciona nesse caso pra vc?
Pq vc sempre terá o ultimo id inserido nesse caso.
G
guisantogui
Bah, faz sentido vou tentar esse MAX(ID)
vlw romarcio
D
diegofss11
Funcionará com o MAX… mas se quiser e outra forma…
SELECT id FROM TABLE ORDER BY id DESC LIMIT 1
Se nao funcionar, invés do LIMIT tenta usar o TOP, da no mesmo
Vlw!
R
romarcio
guisantogui:
Bah, faz sentido vou tentar esse MAX(ID)
vlw romarcio
Com certeza funciona, o select que postei antes, só retornara o ultimo id da tabela.
Caso vc precise do de toda a linha do ultimo id, faz assim:
SELECT * FROM TABELA
WHERE ID_TABELA = (SELECT MAX(ID_TABELA) FROM TABELA)
A
Alcina_Helena_Uberla
No meu caso, estou testando um banco com mais de 150 mihões de registros. Utilizei opção ORDER BY… DESCEN LIMIT 1 o demorou demais para me dar o resultado.
Neste banco não tenho ID serial (de propósito).
Desejo pegar o último registro lançado para ver o que foi lançado. Vcs sabem de alguma solução mais rápida?
G
guisantogui
“Demorou de mais”, quanto de mais?
Levando em conta 150 milhões de registros alguns segundos de delay são aceitaveis eu acho!