アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLのSELECT文でのランダム抽出について

データベースSQLiteでSELECT文の結果をランダムに抽出するには ORDER BY RANDOM()を使うようですが、前回ランダムに抽出された順序と同じ結果を得るにはどのようにすればよいでしょうか。

MySQLの場合は、ORDER BY RAND(n)でnの値を同じにすれば、同じ順序で抽出できるようですが、SQLiteでは無理なようです。

今考えているのはRANDOM()で得られた列の一つ(たとえばID)を一時的に別のテーブルを作成して保存後、その一時テーブルを利用するというものですが、もっと良い方法があるのではと思います。

何か別の方法がありましたら、教えていただきたくよろしくお願いいたします。

A 回答 (1件)

ソート用のフィールドを用意しておいて、UPDATEで定期的に値をRANDしてやればどうでしょう?



もちろん特定の参照キーをもとに別テーブルで管理してもいいとは思いますが

この回答への補足

提案ありがとうございます。
確かに、専用フィールドの手もありますね。
自分でもまだあれこれ試しています。

補足日時:2010/06/13 00:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!