MySQL随机选择n个

时间:2012-08-24 18:46:21

标签: mysql sql

假设我有一个学生列表,我想做一个简单的查询,如:

SELECT * FROM STUDENTS WHERE SCHOOLID = 10;

但是,如果在校10中有20名(或n名)学生,我每次运行查询时都会随机选择7名(或m名)学生。在MySQL中是否存在可能的查询?

4 个答案:

答案 0 :(得分:3)

使用

SELECT * FROM students WHERE schoolid = 10 ORDER BY RAND() LIMIT m

答案 1 :(得分:1)

SELECT * FROM STUDENTS WHERE SCHOOLID = 10 ORDER BY RAND() LIMIT 7

请注意使用RAND()是大表的不良做法。

答案 2 :(得分:1)

您可以尝试(编辑:oops,TOP是T-SQL关键字; Oracle / MySQL使用LIMIT):

SELECT * FROM STUDENTS WHERE SCHOOLID=10 ORDER BY RAND() LIMIT 7

答案 3 :(得分:1)

使用LIMIT m仅选择m个结果,使用ORDER BY RAND()随机选择您选择的m个记录:

SELECT * FROM Students
WHERE SchoolID = 10
ORDER BY RAND()
LIMIT 7