sql >> データベース >  >> RDS >> Mysql

MySQL:ランダムエントリを選択しますが、特定のエントリに重みを付けます

    この男 同じ質問をします。彼はフランクと同じことを言っていますが、重みが正しく出ていないので、誰かがORDER BY -LOG(1.0 - RAND()) / Multiplierを使用することを提案しています。 、私のテストでは、ほぼ完璧な結果が得られました。

    (これが正しい理由を説明したい数学者がいる場合は、私に教えてください!しかし、それは機能します。)

    不利な点は、ゼロで除算することになるため、オプションを一時的に無効にするために重みを0に設定できないことです。ただし、WHERE Multiplier > 0を使用していつでも除外できます。 。



    1. MSSQLServerでスタックしたプロセスの自動削除

    2. テーブルからデータ行を削除した後、MySQLInnoDBがディスクスペースを解放しない

    3. CrystalReportsとMicrosoftSQLServer Reporting Services

    4. PHPを使用して複数のMYSQLクエリを実行する