求助高手mysql对查询结果集随机取数

比如说,一个老师教多个学生。现已查出学生与老师的对应,sql语句如下:selectstudent_id,teacher_idfromtableorderbyteacher... 比如说,一个老师教多个学生。现已查出学生与老师的对应,sql语句如下:
select student_id,teacher_id
from table
order by teacher_id;
现在要对每个老师中随机取百分比个学生
(比如说000老师有10个学生,取10%为1个学生,001老师有30个学生,取10%为3个学生),请问sql怎么写?
P.S. 即查询每一个老师一定百分比的学生
分数不多,全给了
项目用到的是mysql数据库,别说些有的没的 谢谢!

再次补充问题:查询出来的结果已经按老师分好组(oreder by teacher_id),现在是要在每一组里面再随机取N个数据出来。
二楼的 我早试过了 出来的结果是对全部查询结果取随机 无法在每个分组里找随机...
哪个高手有办法...

实在不行只能在程序中解决了...虽然效率慢很多..
利用程序解决要和数据库的交互次数加多了,自然就慢...
现在主要是想只和数据库交互一次..
展开
 我来答
永恒Lyx
2010-08-17 · TA获得超过2467个赞
知道小有建树答主
回答量:756
采纳率:11%
帮助的人:360万
展开全部
order by rand() limit 1

放到你的sql语句后 rand() 是获取结果中的随机记录 至于取几条 则是Limit 后面是几 就取几条

-----------------------------

补充:谁说在程序里就一定慢了 还慢很多?比如我上面说的rand()这个函数 虽然你看着简单 但你知道系统为了操作这个函数而进行了多么繁琐的运行么?
程序写的合理点 并不一定会慢。。

-------------------

虽然不知道你具体要实现什么功能 和你具体如何实现的 不过你应该先把程序都写出来 在一点点修改他 优化他 哪有谁直接就写出很好的程序 都是经过升级、升级、又升级,一点点完善的。
在百度知道这地方 你问太复杂的东西有点不现实 你可以找身边会的人 如果在网上 你最好去专业论坛发帖讨论 比如msdn php100 phpchina 等论坛。
风远道而归
2010-08-15 · TA获得超过379个赞
知道答主
回答量:132
采纳率:0%
帮助的人:75.8万
展开全部
做分页时的原理可以用啊,不用非拘泥于sql吧,用点别的语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式