Indeed shuffle was my goal i solve it by doing order by "((rowid * "+seed.longValue()+" ) % "+BIG_PRIME_NUMBER+")";
as long ass the seed doe not change result is the same, so i can shuffle with LIMT Regards 2013/1/15 Ryan Johnson <ryan.john...@cs.utoronto.ca> > On 14/01/2013 9:48 AM, François-xavier Jacobs wrote: > >> Hi everyone >> >> i would like to "seed random" a request, so i could do use some pagination >> system with a order by random(), is this possible sqlite ? when a tried to >> use "order by 1234567892" it always return the same order >> > That's because you told sqlite that the distinguishing feature of a tuple > is the constant '1234567892' . The sorting routine will see "t1 < t2 = > false" and "t1 > t2 = false" (implying t1 = t2) no matter which two tuples > it examines. If sqlite uses a stable sorting algorithm, that will leave the > input untouched. A very expensive no-op, in other words. > > With random(), t1 < t2 is undefined (because it turns out different every > time it's evaluated), and you end up with tuples in a random order > (assuming the sorting routine doesn't crash; code usually assumes values > don't change while being sorted). Note that shuffling directly is more > efficient than "sorting" in this way, though sqlite lacks the necessary > "shuffle" operator to do it in-database. > > Ryan > > ______________________________**_________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users> > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users