Фалшивото решение на rownum е умно, но се опасявам, че не се мащабира добре (за сложна заявка трябва да се присъедините и да преброите на всеки ред броя на реда преди текущия ред).
Бих помислил да използвам create table tmp as select /*your query*/
.защото в случай на операция create as select, rowid, създаден при вмъкване на редовете, е точно това, което би било rownum (брояч). Посочва се от документа на SQLite.
След като бъде вмъкната първоначалната заявка, трябва само да направите заявка към таблицата tmp:
select rowid, /* your columns */ from tmp
order by rowid