Quero selecionar as últimas 50 linhas do banco de dados MySQL na coluna chamada id, que é a chave primária . O objetivo é que as linhas sejam classificadas por id na ordem ASC , é por isso que esta consulta não está funcionando
SELECT
*
FROM
`table`
ORDER BY id DESC
LIMIT 50;
Também é notável que as linhas possam ser manipuladas (excluídas) e é por isso que a consulta a seguir também não está funcionando
SELECT
*
FROM
`table`
WHERE
id > ((SELECT
MAX(id)
FROM
chat) - 50)
ORDER BY id ASC;
Pergunta : Como é possível recuperar as últimas N linhas do banco de dados MySQL que podem ser manipuladas e estar na ordem ASC?
Se você tem um campo de data que armazena a data (e hora) em que o chat foi enviado ou qualquer campo que é preenchido de forma incremental (ordenar por DESC) ou desinscrementalmente (ordenar por ASC) dados por linha, coloque-o como segunda coluna em quais os dados devem ser ordenados.
Isso é o que funcionou para mim !!!! espero que ajude !!!!
fonte
economize recursos faça uma consulta, não há necessidade de fazer consultas aninhadas
fonte
LIMIT
ing no id decrescente), e o resultado final terá ids crescentes.Notas: *
id
deve ser único. * Você pode controlar o número de linhas retornadas substituindo o30
na consultafonte