2012-08-24 36 views
0

假設我有個同學的名單,我想去做一個簡單的查詢:MySQL的隨機取m N個選擇的

SELECT * FROM STUDENTS WHERE SCHOOLID = 10; 

但是,如果有喜歡的20(或n)在校生10,每次運行查詢時,我想隨機選擇7(或m)個學生。在MySQL中有沒有可能的查詢?

+1

'ORDER BY RAND()LIMIT 7'? –

+0

非常感謝了很多arxanas,解決了我的問題 –

回答

3

使用

SELECT * FROM students WHERE schoolid = 10 ORDER BY RAND() LIMIT m 
1
SELECT * FROM STUDENTS WHERE SCHOOLID = 10 ORDER BY RAND() LIMIT 7 

請注意,使用RAND()是大桌子不好的做法。

1

你可以嘗試(編輯:哎呀,頂部是一個T-SQL關鍵字;甲骨文/ MySQL的使用LIMIT):

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

糟糕..它的mysql不是mssql :) – Peter

+0

Gotcha;編輯。 – KeithS

1

使用LIMIT m只選擇米的成績,並ORDER BY RAND()隨機化的M唱片你選擇:

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