列を追加できます。例: 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