Những gì bạn đang làm là hợp lệ - nó sẽ sắp xếp các kết quả theo thứ tự giảm dần theo a
nhưng sắp xếp thứ tự của các mối quan hệ một cách ngẫu nhiên.
Tuy nhiên, để thực hiện những gì bạn muốn, trước tiên bạn cần sử dụng truy vấn con để nhận 100 bản ghi mới nhất và sau đó sắp xếp các kết quả của truy vấn con đó một cách ngẫu nhiên bằng cách sử dụng truy vấn bên ngoài:
SELECT * FROM
(
SELECT * FROM table1
ORDER BY date DESC
LIMIT 100
) T1
ORDER BY RAND()