在MySQL中,我們可以使用RAND()函數隨機獲取數據,但可能會出現重復數據。如果我們希望獲取不重復的隨機數據,可以使用以下兩種方法。
方法一:子查詢
SELECT * FROM table_name WHERE id IN ( SELECT id FROM table_name ORDER BY RAND() LIMIT 10 );
首先,我們在子查詢中使用RAND()函數將數據隨機排序,然后使用LIMIT限制獲取的記錄數。
方法二:LEFT JOIN
SELECT * FROM table_name AS t1 LEFT JOIN table_name AS t2 ON t1.id = t2.id AND t1.id<>t2.id ORDER BY RAND() LIMIT 10;
在該方法中,我們將表連接到它自身,然后使用ON子句將結果限制為不匹配的行。最后,我們使用RAND()函數將結果隨機排序,并使用LIMIT限制結果數。
上一篇css3選擇器的手冊