用sql语句实现按条件随机取几条记录

现在A表里有一列班级,一列学生姓名,怎么用sql语句实现每个班级随机找出10名学生的结果。谢谢大家了... 现在A表里有一列班级,一列学生姓名,怎么用sql语句实现每个班级随机找出10名学生的结果。谢谢大家了 展开
 我来答
百度网友5fc8254
推荐于2017-11-28 · 超过21用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:0
展开全部
select * from A where 姓名 in (select 10 姓名 from A where 班级=A班级 order by newid()) order by 班级
其中newid()会随机从班级里查找10名学生!
goylsf
2010-09-02 · TA获得超过840个赞
知道小有建树答主
回答量:325
采纳率:0%
帮助的人:257万
展开全部
楼主应该指明用的何种数据库,
oracle可以用下面的方式
select * from (select * from tablename order by dbms_random.value) where rownum<10

mysql:
SELECT * FROM table ORDER BY rand() LIMIT 10;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2010-09-02 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部
select * from A where 姓名 in (select top 10 姓名 from A where 班级=A.班级)
order by 班级
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feixianxxx
2010-09-02 · TA获得超过2202个赞
知道大有可为答主
回答量:1273
采纳率:100%
帮助的人:1749万
展开全部
select *
from (
select *,rn=row_number()OVER(PARTITION BY 班级 order by newid())
from A) k
where rn<=10;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式