add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.

CREATE TABLE Table1
(ID int, Name varchar(5), Place varchar(9), "Date" varchar(9))
;

INSERT ALL
INTO Table1(ID, Name, Place, "Date") VALUES(1, 'User1', 'Chennai', '01-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(1, 'User1', 'Chennai', '02-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(2, 'User2', 'Bangalore', '03-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(2, 'User2', 'Bangalore', '04-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(1, 'User1', 'Bangalore', '05-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(1, 'User1', 'Bangalore', '06-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(1, 'User1', 'Bangalore', '07-Jun-22')
INTO Table1(ID, Name, Place, "Date") VALUES(1, 'User1', 'Chennai', '08-Jun-22')
SELECT 1 FROM dual;

8 rows affected
WITH CT1 AS
(
SELECT ID, Name, Place, "Date",
CASE WHEN CONCAT(ID,Place) != LAG(CONCAT(ID,Place),1,'0') OVER(ORDER BY "Date") THEN 1 ELSE 0END as t
FROM Table1
),
CT2 AS
(
SELECT ID, Name, Place, "Date",
SUM(t) OVER(ORDER BY "Date") as grp
FROM CT1
)
SELECT ID, Name, Place,
MIN("Date") as From_Date,
MAX("Date") as To_Date
FROM CT2
GROUP BY ID, Name, Place,grp
ORDER BY From_Date;
ID NAME PLACE FROM_DATE TO_DATE
1 User1 Chennai 01-Jun-22 02-Jun-22
2 User2 Bangalore 03-Jun-22 04-Jun-22
1 User1 Bangalore 05-Jun-22 07-Jun-22
1 User1 Chennai 08-Jun-22 08-Jun-22