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

テーブルからランダムな単語を選択する

    列を追加できます。例: word_length 単語の長さを含み、word_lengthにインデックスを追加します 桁。通常、別の列から取得できるデータを含めるのは不適切な設計ですが、この場合、パフォーマンスのために純度を下げる必要があります。次に、クエリでJOINを使用できます この列を使用した条件:

    SELECT CONCAT(w1.my_word, w2.my_word) joined
    FROM my_words w1
    JOIN my_words w2 ON w1.word_length = 8 - w2.word_length
    WHERE w2.word_length < 8
    ORDER BY RAND()
    LIMIT 5
    

    INSERTを使用できます およびUPDATE word_lengthを入力するトリガー 自動的に列になります。

    5行にフィルターした後に連結を行うことも役立つ場合があります:

    SELECT CONCAT(word1, word2) joined
    FROM (
        SELECT w1.my_word word1, w2.my_word word2
        FROM my_words w1
        JOIN my_words w2 ON w1.word_length = 8 - w2.word_length
        WHERE w2.word_length < 8
        ORDER BY RAND()
        LIMIT 5) x
    


    1. JavaスレッドとMySQL

    2. NodeJSMySQLへの同時リクエストを処理する方法

    3. PDO SQL-状態00000ですが、それでもエラーですか?

    4. MariaDBの「エラー1054(42S22):「on句」の不明な列「…」」を修正