Oracle 过滤表中重复数据,查询表中相同数据的最新一条数据或者其它条件的数据

原来一个 room_type_id 对应多个房间 room_number

实际 上我要的效果是不是重复的直接取出来,重复的按照时间最大最小获取一条

 最后的结果应该是这样的

 方法1

先按照房间类型分组,然后取出每组里面最大的时间,就行了

SELECT  s.ROOM_TYPE_ID,s.ROOM_NUMBER,(s.ISSUE_DATE) FROM `room` s GROUP BY s.ROOM_TYPE_ID

方法2

select * from `room` s 
where not exists (select * from `room` b  where s.ROOM_TYPE_ID = b.ROOM_TYPE_ID and s.ISSUE_DATE < b.ISSUE_DATE )  ;
 

发布了31 篇原创文章 · 获赞 1 · 访问量 1829

猜你喜欢

转载自blog.csdn.net/liangdingguo/article/details/104642479