请教:选出每个班级次数最少序号最小的一名学生

xld2001 2019-04-09 06:57:18
学生表
序号 班级 姓名 次数
1 1 张1 10
2 1 李 1 10
3 1 王3 9
4 1 万 9
1 2 赵 10
2 2 何 10
3 2 国 9
4 2 金 9
1 3 张 10
2 3 李 10
3 3 王3 9
4 3 万 9
每班选一个,次数最少,序号最小的,结果是:
序号 班级 姓名 次数
3 1 王3 9
3 2 国 9
3 3 王3 9
请问这个查询怎么写?谢谢
...全文
336 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
石中剑 2019-04-26
  • 打赏
  • 举报
回复
1、SELECT 班级,COUNT(*) 班级数 FROM 学生表 GROUP BY 班级
2、班级数为1中求出的变量
SELECT top 【班级数】 aa.* FROM 学生表 aa,(SELECT 班级,COUNT(*) 班级数 FROM 学生表 GROUP BY 班级) bb ORDER BY 次数,序号 WHERE aa.班级=bb.班级
WMERP 2019-04-10
  • 打赏
  • 举报
回复
先选出每个班级最小的次数的记录集,再通过这个作为子表赛选最小的序号,然后通过班级和最小次数中最小序号定位记录就可以了

select min(b.序号) as xh,b.班级,b.次数 from 学生表 b,(select d.班级 as bj,min(d.次数) as cishu from 学生表 d group by d.班级) c where b.次数=c.cishu and b.班级=c.bj group by b.班级,b.次数
ycj80 2019-04-09
  • 打赏
  • 举报
回复
1.先以班分组取出次数最少,序号最小的 select top 1 * from xx order by 次数,序号 2.合并各班信息

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧