Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chọn các từ ngẫu nhiên từ bảng

Bạn có thể thêm một cột, ví dụ:word_length chứa độ dài của từ và thêm chỉ mục trên word_length cột. Thông thường, sẽ là một thiết kế kém khi bao gồm dữ liệu có thể được lấy từ một cột khác, nhưng trong trường hợp này, bạn cần phải phá vỡ độ tinh khiết vì lợi ích hiệu suất. Sau đó, truy vấn của bạn có thể sử dụng JOIN điều kiện sử dụng cột này:

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

Bạn có thể sử dụng INSERTUPDATE kích hoạt để điền vào word_length cột tự động.

Cũng có thể hữu ích khi thực hiện nối sau khi lọc xuống 5 hàng:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để Django hoạt động với MySQL trong XAMPP?

  2. Lệnh gọi tới PDOStatement ::closeCursor () có cần thiết không nếu đối tượng câu lệnh không được đặt?

  3. Làm việc với Cơ sở dữ liệu MySQL cPanel

  4. UTF8 và các ký tự tiếng Nhật

  5. MySQL bù đắp các hàng vô hạn