oracle 查询每个用户的最后一次修改的记录

1:建表
CREATE TABLE TBL_A
(
ID NUMBER(12) ,
USER_NAME VARCHAR2(50),
UPDATE_DATE VARCHAR2(50)
);
2:添加数据
INSERT INTO TBL_A (ID,USER_NAME,UPDATE_DATE ) VALUES(1,‘张三’,‘2020-08-01 11:23:23’);COMMIT;
INSERT INTO TBL_A (ID,USER_NAME,UPDATE_DATE ) VALUES(2,‘张三’,‘2020-08-01 18:23:23’);COMMIT;
INSERT INTO TBL_A (ID,USER_NAME,UPDATE_DATE ) VALUES(3,‘李四’,‘2020-08-06 13:23:23’);COMMIT;
INSERT INTO TBL_A (ID,USER_NAME,UPDATE_DATE ) VALUES(4,‘王五’,‘2020-08-06 10:23:23’);COMMIT;
INSERT INTO TBL_A (ID,USER_NAME,UPDATE_DATE ) VALUES(5,‘王五’,‘2020-08-06 19:23:23’);COMMIT;
如图:
oracle 查询每个用户的最后一次修改的记录_第1张图片
3:查询每个用户的最后一次修改的记录
语句:
SELECT ID,USER_NAME,UPDATE_DATE FROM (
SELECT ID,USER_NAME,UPDATE_DATE,
RANK() OVER (PARTITION BY USER_NAME ORDER BY UPDATE_DATE DESC) RANK_NO FROM TBL_A
)
WHERE RANK_NO =‘1’;

结果如果:
oracle 查询每个用户的最后一次修改的记录_第2张图片

你可能感兴趣的:(笔记,oracle)