My SQL returns a list of user ID's with their roles, the point is to concatenate all roles (groups) into one line. Currently, it returns everything, but I just need to return one entry per user, basically the entry per user with the largest rn (row number) for that user.
SELECT 
  IT_ID, 
  SUBSTR (SYS_CONNECT_BY_PATH (grp , ','), 2) GROUPS
FROM (
  SELECT 
    U.IT_ID, 
    LAST_NAME, 
    BFIRST_NAME, 
    GRP, 
    ROW_NUMBER() OVER (partition by u.it_id ORDER BY U.IT_ID) rn, 
    COUNT(*) OVER() cnt
FROM ECG_IT_USERS U
JOIN SECUREGROUPS G ON U.IT_ID = G.IT_ID)
START WITH rn = 1
CONNECT BY rn = PRIOR rn + 1 and it_id = prior it_id
Group by it_id
It returns:
IT_ID   GROUPS
afz23   ADMIN
afz23   ADMIN, QA
klf44   USER
klf44   USER, BUSINESS
I need to return
IT_ID   GROUPS
afz23   ADMIN, QA
klf44   USER, BUSINESS
 
     
     
     
    