Unless you specify an order with an ORDER BY clause in your SELECT statement, the system is at liberty to return rows in any order it wants. Normally, this equates to "first in, first out" sequence, so your latest inserts will be last - but that isn't guaranteed and you can get different results with two identical SELECT statements (this is less likely with single user systems like SqLite than multiuser like SQL Server, but it should be considered in your design).
If you want a different order, then you have to specifically ask for it with an ORDER BY clause:
SELECT <my list of columns>
FROM MyTable
WHERE <my condition>
ORDER BY <my list of columns to sort by> <ASC or DESC for direction>
For example:
SELECT UserID, UserName FROM MyTable ORDER BY BirthDate DESC