I have table:
name,age,school
jane,15,zu
peter,16,zu
john,15,stu
Tomas,15,kul
viera,17,stu
tibor15,zu
我希望从每张学校中选择1人(随机)
答案 0 :(得分:0)
select * from table group by school order by rand()
答案 1 :(得分:0)
由于它是随机对整个表进行ORDER操作,然后在一个潜在的巨大的无索引临时表上进行GROUPing,这非常有效。但是这很有用。
SELECT *
FROM (
SELECT *
FROM my_table
ORDER BY RAND()
)a
GROUP BY school
将其分解可能更为明智。
有关如何有效获取单个随机值的一些灵巧技巧,请参阅this post。
答案 2 :(得分:-2)
如果您使用的是php(如标记所示),请运行SELECT * FROM table;
,然后根据查询中的结果数生成一个随机数。例如:
i = floor(random()*query.length);
然后寻找显示seek(i)
和中提琴的记录,你有随机录入=)
你必须使用你自己的知识/文档来获得确切的语法,我有一段时间没有触及过PHP,但逻辑是合理的。
加里