By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE t(APP, Ver, "date") AS
SELECT 'app1', '1.2', CAST(TIMESTAMP '2022-02-17 11:40:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app1', '1.1', CAST(TIMESTAMP '2022-02-17 11:39:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app2', '1.3', CAST(TIMESTAMP '2022-02-17 11:38:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app3', '2.6', CAST(TIMESTAMP '2022-02-17 11:37:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app3', '2.5', CAST(TIMESTAMP '2022-02-17 11:36:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app2', '1.2', CAST(TIMESTAMP '2022-02-17 11:35:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app4', '1.2', CAST(TIMESTAMP '2022-02-17 11:35:00' AS DATE) FROM DUAL UNION ALL
SELECT 'app4', '1.12', CAST(TIMESTAMP '2022-02-17 11:34:00' AS DATE) FROM DUAL
8 rows affected
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'
SELECT app AS "App",
MAX(ver) KEEP (DENSE_RANK LAST ORDER BY "date") AS "Ver",
MAX("date") KEEP (DENSE_RANK LAST ORDER BY "date") AS "Date"
FROM t
GROUP BY app
ORDER BY "App"
App | Ver | Date |
---|---|---|
app1 | 1.2 | 2022-02-17 11:40:00 |
app2 | 1.3 | 2022-02-17 11:38:00 |
app3 | 2.6 | 2022-02-17 11:37:00 |
app4 | 1.2 | 2022-02-17 11:35:00 |