Hi,
I want to get serial number for my data in a query. As there are multiple rows for each employee id , i want to increment the serial number only when the employee id, changes.
-----------------------------------------------------------
WITH DETAILS AS (
select 1 empid, 'JAN' MON,1 AMOUNT FROM DUAL UNION ALL
select 1 empid, 'FEB' MON,2 AMOUNT FROM DUAL UNION ALL
select 1 empid, 'MAR' MON,3 AMOUNT FROM DUAL UNION ALL
select 1 empid, 'APR' MON,4 AMOUNT FROM DUAL UNION ALL
select 2 empid, 'JAN' MON,10 AMOUNT FROM DUAL UNION ALL
select 2 empid, 'FEB' MON,20 AMOUNT FROM DUAL UNION ALL
select 2 empid, 'MAR' MON,30 AMOUNT FROM DUAL UNION ALL
select 3 empid, 'JAN' MON,100 AMOUNT FROM DUAL UNION ALL
select 3 empid, 'FEB' MON,200 AMOUNT FROM DUAL UNION ALL
select 3 empid, 'MAR' MON,300 AMOUNT FROM DUAL UNION ALL
select 3 empid, 'APR' MON,400 AMOUNT FROM DUAL UNION ALL
select 3 empid, 'APR' MON,500 AMOUNT FROM DUAL UNION ALL
select 4 empid, 'JAN' MON,1000 AMOUNT FROM DUAL UNION ALL
select 4 empid, 'FEB' MON,20000 AMOUNT FROM DUAL UNION ALL
select 4 empid, 'MAR' MON,30000 AMOUNT FROM DUAL UNION ALL
select 4 empid, 'APR' MON,40000 AMOUNT FROM DUAL
)
SELECT row_number () over ( order by EMPID ) as SLNO
, EMPID
, MON
, AMOUNT
FROM DETAILS;
---------------------------------------------------------------------
with the above query i get the following result
Instead, i want the following result

Is it possible in a query ?
Please help.