例如:表address,数据如下:
name_id,address,mx_address,dengji_shijian
1 上海 1号 2009-10-10
1 上海 2号 2009-12-12
2 北京 3号 2009-11-10
2 北京 5号 2009-10-12
2 北京 6号 2009-10-10
查询结果为:
1 上海 2号 2009-12-12
2 北京 6号 2009-10-10
就是查处同一name_id并且address相同,最早登记的mx_address记录。
name_id,address,mx_address,dengji_shijian
1 上海 1号 2009-10-10
1 上海 2号 2009-12-12
2 北京 3号 2009-11-10
2 北京 5号 2009-10-12
2 北京 6号 2009-10-10
查询结果为:
1 上海 2号 2009-12-12
2 北京 6号 2009-10-10
就是查处同一name_id并且address相同,最早登记的mx_address记录。
解决方案 »
- oracle查询
- Microsoft OLE DB Provider for Oracle 不支持 Oracle 数据类型 BLOB 该如何解决?
- streams trigger
- oracle 如何算出两个时间的分钟差,类似sql server 的datediff
- oracle+java 数据不存在错误
- select 'A' + a.company_id as new_id from t_pub_user a
- 请教数据库设计方面的问题,求高人大侠指点啊
- PL/SQL是否可以判断两个字符串相似?
- 如何使ORACLE返回可编辑的数据集
- 在存储过程中如何返回数据集?
- sqlldr速度慢的问题
- sqlserver数据库迁移oracle一个疑难问题
select name_id,address,mx_address,
row_number()over(partition by name_id order by dengji_shijian)rn
from address)
where rn=1
查询结果里上海取的是最新,北京取的是最古老,晕
如果取最早的记录,就按上面写的
如果要最新,在order by dengji_shijian后面加上 desc
order by dengji_shijian 加个desc