I have the following query: SELECT * , randomiser , randomiser FROM ( SELECT * , ABS(RANDOM()) / 5E17 AS randomiser FROM proverbs WHERE used <> 'notUsed' ORDER BY randomiser + IFNULL(JULIANDAY(used), 0) ASC ) ORDER BY randomiser + IFNULL(JULIANDAY(used), 0) ASC
And this gives for example: "Voor niets gaat de zon op." "2017-01-12" "0.337325790117148" "0.337325790117148" "0.337325790117148" "Met de wolven in het bos meehuilen." "2017-01-11" "2.59601454335206" "2.59601454335206" "2.59601454335206" "Als katten muizen, mauwen ze niet." "2017-01-11" "2.7932230420896" "2.7932230420896" "2.7932230420896" "Uitstel is afstel." "2017-01-12" "1.88933779146209" "1.88933779146209" "1.88933779146209" "Het is rozengeur en maneschijn." "2017-01-13" "1.16363975452034" "1.16363975452034" "1.16363975452034" But when I remove the last ORDER (which seems redundant) I get: "Het is rozengeur en maneschijn." "2017-01-13" "3.0795495790489" "2.7886449148631" "6.78717082169993" "Met de kippen op stok." "2017-01-16" "6.56483737827297" "1.32007069440753" "5.18920985400017" "Schoenmaker, blijf bij je leest." "2017-01-12" "8.17180081902947" "5.91518750003302" "4.78956808218011" "Een goed begin is het halve werk." "2017-01-17" "7.70627730482033" "15.580638189131" "2.0146022387495" "Zoals het klokje thuis tikt, tikt het nergens." "2017-01-18" "8.53059705262686" "15.7307229942" "1.1516802288132" So randomiser is not stable any-more. For the moment I work with: SELECT * , randomiser , randomiser FROM ( SELECT * , ABS(RANDOM()) / 5E17 AS randomiser FROM proverbs WHERE used <> 'notUsed' ORDER BY used ASC ) ORDER BY randomiser + IFNULL(JULIANDAY(used), 0) ASC Then randomiser is stable and the time needed is only slightly more as time for the second query. (It is about 43, 53 and 46 ms.) -- Cecil Westerhof _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users