现在有一张表,里面有相同的纪录,唯一不相同的就是时间戳和HisID,现在如果有相同纪录的话,我想取得时间在最靠后的纪录,如果,没有相同纪录的话,就直接取出来就可以了。
如下表所示:
tableA HisID studentid time
1 01 2005-11-13 00:00:00
2 02 2005-11-13 00:00:00
3 03 2005-11-13 00:00:00
4 04 2005-11-13 00:00:00
5 01 2005-11-14 00:00:00我想取出来的结果是
studentid time
02 2005-11-13 00:00:00
03 2005-11-13 00:00:00
04 2005-11-13 00:00:00
01 2005-11-14 00:00:00
请问,这个脚本该怎么写?
如下表所示:
tableA HisID studentid time
1 01 2005-11-13 00:00:00
2 02 2005-11-13 00:00:00
3 03 2005-11-13 00:00:00
4 04 2005-11-13 00:00:00
5 01 2005-11-14 00:00:00我想取出来的结果是
studentid time
02 2005-11-13 00:00:00
03 2005-11-13 00:00:00
04 2005-11-13 00:00:00
01 2005-11-14 00:00:00
请问,这个脚本该怎么写?
解决方案 »
- ORACLE10g+ASM 修改processes,重启无法生效,why?
- 请教大虾门oracle9i和10g的区别
- 请教查询几个表的不同字段并在一起,不是关联
- 求脚本!急!谢谢!
- win7下 按照oracle 11g R2 安装过程中出现enterprice manager配置出错,安装完成后按照网上的方法自己手动配置,出现数据实例不可用
- 问个超级弱智问题
- 这样的触发器能保证并发控制吗?
- SQL*LOADER和程序中采用COMMIT的效率比较
- 求救:Internal 用户无法登陆 错误提示:“ORA-12547 TNS:lost contact ”
- 求助!登陆出现ORA-01034、ORA-27101错误
- 高手看过来,一个触发器的迷惑
- PLSQL中的周号转换是不是真的这么麻烦?
-------
有没有搞错,还有这种规定。原因是什么?
无聊不无聊
1:按照studentid,time(降序)检索出需要的数据
2:用游标逐一判断记录
当studentid <> 前一条记录
存放到临时表中;
否则
继续读下一条记录;
3:将临时表中所有记录检索出来就是需要的结果集