- 締切済み
SQLで乱数を使った取得の工夫
お世話になります。 ID,name,point 1.りんご.30 2.みかん.22 3.いちご.18 4.バナナ.13 5.すもも.4 6.マンゴー.1 上記のようなデータがある場合、pointが高いほど 選ばれ易くするようなSQLを記述したいのですが、 その方法をお教えいただけないでしょうか。 ただのランダムであれば、『SELECT * FROM テーブル名 WHERE ID=abs(random()%全レコード数(この場合は6)+1』と すれば、均等にランダムで拾えますが、これを1のりんごのIDほど 取得しやすく、6のマンゴーほど発生しにくくするといった感じです。 以上、よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mitoneko
- ベストアンサー率58% (469/798)
回答No.4
- m3_maki
- ベストアンサー率64% (296/460)
回答No.3
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.2
- lupin-333333
- ベストアンサー率31% (294/933)
回答No.1
補足
回答、ありがとうございます。 説明不足にて申し訳ありません。 環境は、SQLite3を使用しています。 言語はJava.C#を使用しますが、極力 コードには依存せずに、SQLiteだけで 済ませたいと考えています。 回答いただきましたビューも、できれば 使用せずに内部だけで完結させたいと 思っています。 再度質問をさせていただきますので、 お答えいただければ幸いです。