I have a table Both the id and value are varchars
>> id "value"
-----------------------
a 1
a 2
a 5
a 6
a 7
a 8
b 4
b 5
b 6
b 9
I just want to see the output
value Result
-----------------
a 1-2,5,6-8
b 4-6,9
I tried using ListAGG()
function
Its giving the error "value" as invalid identifier
SELECT
LISTAGG ( TXT,
', ' )
WITHIN GROUP (ORDER BY "value")
"Result"
FROM
(SELECT
CASE
WHEN MIN ( "value" ) = MAX ( "value" )
THEN
CAST ( MIN ( "value" ) AS VARCHAR2 ( 400 ) )
ELSE
MIN ( "value" )
|| '-'
|| MAX ( "value" )
END
AS TXT,
MIN ( "value" ) AS SOURCE
FROM
(SELECT
ROW_NUMBER ( ) OVER (ORDER BY MIN ( "value" ))
- TO_NUMBER ( "value" )
AS GRP
FROM
TABL2)
GROUP BY
GRP);
I guess is there any type mismatch..?? can you please help me...