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

MYSQL CHỌN ngẫu nhiên trên bảng lớn ĐẶT HÀNG THEO ĐIỂM

vì vậy để có được một cái gì đó như thế này, tôi sẽ sử dụng một truy vấn con .. theo cách đó bạn chỉ đặt RAND () trên truy vấn bên ngoài sẽ ít bị đánh thuế hơn nhiều.

Theo những gì tôi hiểu từ câu hỏi của bạn, bạn muốn 200 nam từ bảng có số điểm cao nhất ... vì vậy đó sẽ là một cái gì đó như thế này:

SELECT * 
FROM table_name
WHERE age = 'male'
ORDER BY score DESC
LIMIT 200

bây giờ để ngẫu nhiên hóa 5 kết quả, nó sẽ giống như thế này.

SELECT id, score, name, age, sex
FROM
(   SELECT * 
    FROM table_name
    WHERE age = 'male'
    ORDER BY score DESC
    LIMIT 200
) t -- could also be written `AS t` or anything else you would call it
ORDER BY RAND()
LIMIT 5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao các hàng bị ảnh hưởng trả về 0 trong khi cập nhật / xóa thành công?

  2. Cách thực hiện các truy vấn tham gia bằng cách sử dụng Sequelize trên Node.js

  3. Làm cách nào để xác định một cột có thể tự động viết hoa?

  4. Không thể nhìn thấy COUNT mySQL từ bảng thứ 3

  5. Làm cách nào để đặt 'mệnh đề if' trong một chuỗi SQL?