Best options to page a dynamically updating list
We've got a list of very dynamic items. New items are frequently added to the list (maybe one every few seconds).
The items can also be re-arranged (say they've been sorted by 'last updated' and one is updated by the system).
Our problem comes with paging this list. If the user has it sorted by "latest", and they're looking at the top 20 paged items for, say, 20 seconds, then scroll down - 5-10 items might now have been created.
If we naively query the database to get items "20-40" (the next 'page', although it's actually a scroll), we'll get duplicate items.
We've spent quite a lot of effort in our backend to be able to query our list from a specific date - we send a "get me items 20-40 FROM THIS TIME" to the back end.
However, that's quite a difficult requirement for the database schema and back-end, we can't support some things we want to because we have to try keep duplicate records for this 'history'.
Are there any generally accepted strategies for dealing with this kind of situation?