数据库表分组查询问题.求好心人解答
sqlserver吧
全部回复
仅看楼主
level 3
小俆 楼主
招生表
学生 老师 招生时间
张三 A 2012-3-21
李四 A 2012-3-22
王五 B 2012-3-21
赵六 B 2012-3-22
如何查询每个老师招生的学生招生时间最早的那一个
比如出A老师 最早招生的学生 是张三 招生时间是2012-3-21
B老师 最早招生的学生 是王五 招生时间是2012-3-21
我是这样查询的,但是这样查询只能显示一个老师的字段
select 老师 from 招生表 group by 老师
已经尝试过hving max() 等,效果并不理想,请好友帮忙解答.谢谢
2012年05月16日 09点05分 1
level 5
select a.jiaoshi,b.xuesheng from
(select jiaoshi,max(shijian)as shijian
from zhaoshengbiao
group by jiaoshi)a
join zhaoshengbiao b on a.jiaoshi=b.jiaoshi and a.shijian=b.shijian
同一天一个教师会有2个或者2个以上学生最早报道,所以1个教师对应的学生不唯一。
2012年05月25日 08点05分 2
level 8
PL/SQL的话賊简单,rank over 分析函数 然后where选择就行,oracle果然强大。T–SQL的话也不麻烦,相关子查询呗,子查询里分组就行了
2017年04月04日 06点04分 4
1