oracle中怎么查询各组中最新的一条记录
·
oracle中怎么查询各组中最新的一条记录呢?比如说现在有一个表中几条数据如下:
有两种写法:
写法一:over partition by 分析函数
SELECT * FROM (select ID_,COMPANY_NAME,USAGE_RATE,DETECTION_RATE,ACCEPTABILITY_RATE,CREATE_TIME,MAX(CREATE_TIME) over(partition by COMPANY_NAME)
as "CREATE_TIME" from TABLE) x where CREATE_TIME = "CREATE_TIME";
写法二:inner join
SELECT A.* FROM TABLE A INNER JOIN (SELECT COMPANY_NAME,MAX(CREATE_TIME) AS "CREATE_TIME"
FROM TABLE group by COMPANY_NAME) B ON A.COMPANY_NAME = B.COMPANY_NAME AND A.CREATE_TIME = B."CREATE_TIME";
更多推荐



所有评论(0)