例如:表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记录。
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