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

ランダムに選択された2つの行が互いに異なることを確認するにはどうすればよいですか?

    一度だけ実行できますが、代わりに2つ取得して、同じ行を選択しないようにします。

    $result = mysqli_query($conn,"SELECT * FROM photos ORDER BY rand() LIMIT 2");
    $row = $result->fetch_assoc();
    $row2 = $result->fetch_assoc();
    // invoke `->fetch` twice to get the first and second row
    $img1link = $row['link'];
    $img2link = $row2['link'];
    

    補足:ORDER BY rand()に注意してください 大きなデータセットでは遅くなるため、句。 @BillKarwinのすばらしい回答 で代替手段を使用できます



    1. JOOQのDSL.val()にカスタムコンバーターを使用する

    2. macos10.13.3でmysqlパスワードをリセットする方法

    3. MySQL-複雑な計算のUPDATEクエリパフォーマンスを改善

    4. ソナー分析を実行するときのPacketTooBigException