Вы не предоставляете предложение "order by" ни в одном из операторов SQL, поэтому результаты возвращаются вам в порядке по умолчанию, который, вероятно, определяется их первичным ключом (если таковой существует) или порядком, в котором они быливставлен в таблицу.
Предоставленное усечение из вашего первого запроса, скорее всего, является последними 6 записями в этой таблице.Предоставленное усечение из вашего второго запроса, скорее всего, является последними 6 записями в этой таблице, ГДЕ читается = 0.
В итоге, только потому, что вы видите только 1 запись, где чтение = 0 в 6 строках, которые вы предоставили из вашегоПервый запрос не означает, что есть только 1. Это просто означает, что было только 1 в последних 6 строках.Если вы хотите сначала увидеть все строки «read = 1», а затем - все строки «read = 0», попробуйте добавить предложение «order by».
sqlite> select read, text from message order by read, text;
sqlite> select read, text from message where read=0 order by text;