Chcę wybrać ostatnie 50 wierszy z bazy danych MySQL w kolumnie o nazwie id, która jest kluczem podstawowym . Celem jest, aby wiersze były sortowane według identyfikatora w kolejności ASC , dlatego to zapytanie nie działa
SELECT
*
FROM
`table`
ORDER BY id DESC
LIMIT 50;
Niezwykłe jest również to, że wiersze można manipulować (usuwać) i dlatego poniższe zapytanie również nie działa
SELECT
*
FROM
`table`
WHERE
id > ((SELECT
MAX(id)
FROM
chat) - 50)
ORDER BY id ASC;
Pytanie : Jak można pobrać ostatnie N wierszy z bazy danych MySQL, którymi można manipulować i które są uporządkowane według ASC?
Jeśli masz pole daty, które przechowuje datę (i godzinę) wysłania czatu lub dowolne pole, które jest wypełniane przyrostowo (kolejność według DESC) lub desinscrementally (kolejność według ASC) danymi na wiersz, umieść je jako drugą kolumnę które dane mają być uporządkowane.
To właśnie na mnie zadziałało !!!! mam nadzieję, że to pomoże !!!!
źródło
zapisz zasoby wykonaj jedno zapytanie, nie ma potrzeby wykonywania zapytań zagnieżdżonych
źródło
LIMIT
w malejącym identyfikatorze), a ostateczny wynik będzie miał rosnące identyfikatory.Uwagi: *
id
powinno być niepowtarzalne. * Możesz kontrolować liczbę zwracanych wierszy, zastępując30
w zapytaniuźródło