具体的な答えを出したいのですが、あなたの思考プロセスを理解するのに助けが必要です...
あなたは書くことから始めます:
しかし、あなたはそれから書き続けます:
私にとって、後者の仕様は最初の発言に照らしてほとんど意味がありません。
イムホ、あなたが本当に望んでいるのは、ユーザーが各車に同じ数の投票の機会を持つことです。もっと正確に言えば、他の車と比較して各車に投票することです。
(車の)変数が独立していると仮定する場合は、選択が投票された回数ではなく、選択が行われた回数をカウントし、それに応じて決定プロセスを調整する必要があります。これは数学の問題であり、それほど醜いものではありません。SQLに変換して、良くも悪くもなります。おそらくもっと悪くなると思います。
私のように、それらが独立していないと仮定する場合は、相関関係も考慮する必要があります。また、それらが互いに思いついた回数も保存する必要があります。なぜなら、タタ、シンカイ、アフトワズよりもこのメルセデスを好まない可能性は無限にあるからです。しかし、同じメルセデス、BMW、ポルシェ、フェラーリのいずれかを選択した場合、決定はそれほど明確ではない可能性があります。
言い換えれば、あなたが提示したように、あなたのスペックは問題にまったく答えません。
私は現在、2時間前に投稿された回答に同意するように懇願しています。それらを本当にランダムに選択すれば、余分なコードがなくても満足できます...
ちなみに、IDに実際にギャップがない場合は、phpなどで4つのIDを生成し、in()
を使用してそれらをフェッチします。 声明。それ以上の効率は得られません。