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

1つのクエリでORDERBYRAND()を使用せずにRAND()行をフェッチする

    ストアドプロシージャを使用してプリペアドステートメントを作成できない理由はありますか?

    DELIMITER //
    DROP PROCEDURE IF EXISTS rand_quote//
    CREATE PROCEDURE rand_quote()
    BEGIN
        SET @rand := ROUND((SELECT COUNT(*) FROM quotes) * RAND());
        SET @sql := CONCAT('SELECT * FROM quotes LIMIT ', @rand, ', 1');
        PREPARE stmt FROM @sql;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END;
    //
    DELIMITER ;
    


    1. MySQLデータベースをSQLiteデータベースにエクスポートする

    2. 間違ったmysqlクライアントライブラリ用にコンパイルされたmysql2gem

    3. COUNT(rowid)はCOUNT(*)よりも高速ですか?

    4. OracleODP.netマネージドドライバーとアンマネージドドライバー