Tough Oracle Logic in Ux

How Can this logic be implemented in Unix

SELECT
    B.SERVICE_TYPE       || '|' ||
    B.TOTAL_TYPE         || '|' ||
    B.CALL_INDICATOR     || '|' ||
    B.A_NUMBER           || '|' ||
    B.APN                || '|' ||
    B.DAY                || '|' ||
    B.HOUR               || '|' ||
    B.DURATION           || '|' ||
    B.PARTIAL_INDICATOR  || '|' ||
    B.EQUIPMENT_ID_A     || '|' ||
    B.LOCATION_AREA_ID   || '|' ||
    B.DATA_VOLUME_INCOMING|| '|' ||
    B.DATA_VOLUME_OUTGOING|| '|' ||
    B.DW_BATCH_ID         || '|' ||
    B.CALL
FROM (
SELECT
    ROW_NUMBER()
        OVER (PARTITION BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR
                ORDER BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR) RN
    ,SERVICE_TYPE
    ,TOTAL_TYPE
    ,CALL_INDICATOR
    ,A_NUMBER
    ,APN
    ,DAY
    ,HOUR
    ,PARTIAL_INDICATOR
    ,EQUIPMENT_ID_A
    ,LOCATION_AREA_ID
    ,DW_BATCH_ID
    ,SUM(DURATION)
        OVER (PARTITION BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR
                ORDER BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR) DURATION
    ,SUM(DATA_VOLUME_INCOMING)
        OVER (PARTITION BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR
                ORDER BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR) DATA_VOLUME_INCOMING
    ,SUM(DATA_VOLUME_OUTGOING)
        OVER (PARTITION BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR
                ORDER BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR) DATA_VOLUME_OUTGOING
    ,SUM(CALL)
        OVER (PARTITION BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR
                ORDER BY SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR) CALL
FROM
    P_NETWORK_GPRS_1) B
WHERE B.RN=1;

Is it really possible, need some help badly from the experts on this forum..

a very high requirement is performance.. that's why i'm trying to convert to unix.

Thanks

Unix isn't a programming language. Please clarify what you are looking for.

What i am trying to do is ..

I have a CSV file with columns

SERVICE_TYPE
    ,TOTAL_TYPE
    ,CALL_INDICATOR
    ,A_NUMBER
    ,APN
    ,DAY
    ,HOUR
    ,PARTIAL_INDICATOR
    ,EQUIPMENT_ID_A
    ,LOCATION_AREA_ID
    ,DW_BATCH_ID
* DURATION 
* DATA_VOLUME_INCOMING
* DATA_VOLUME_OUTGOING
* CALL

& required to do some special aggregation:

1) for common lines having equal values
(SERVICE_TYPE,TOTAL_TYPE,CALL_INDICATOR,A_NUMBER,APN,DAY,HOUR)
Aggregate/(i.e. sum) (*) columns
While keeping first appearing values for rest of columns

(PARTIAL_INDICATOR
    ,EQUIPMENT_ID_A
    ,LOCATION_AREA_ID
    ,DW_BATCH_ID)

ex:

1,2,3,4,6,7,0
1,2,3,5,3,6,7

for lines with (1,2,3)
sum last 2 columns, (13,7)
while having 4,6 at the result

result: 1,2,3,4,6,*13,*7

Thanks

How are you doing this now ? What Unix has to do with it ?