У меня есть следующие данные:
SUM_OF_ALL_PUSHES | USER_LOGIN | COMPONENT_NAME | ROW_LST_UPD_TS
-------------------|---------------|-------------------|-------------------------
61 | DOMAIN\abc | Component A | 22/02/12 12:58:26.325 PM
14 | DOMAIN\xyz | Component B | 22/02/12 05:20:52.565 PM
17 | DOMAIN\xyz | Component A | 22/02/12 05:21:58.045 PM
34 | DOMAIN\abc | Component A | 22/02/12 05:44:20.274 PM
38 | DOMAIN\abc | Component A | 22/02/12 06:28:41.465 PM
Я получаю данные, используя следующие данные:
SELECT SUM(Q.SUM_OF_ALL_PUSHES) AS SUM_OF_ALL_PUSHES, Q.USER_LOGIN, Q.COMPONENT_NAME, Q.ROW_LST_UPD_TS FROM( SELECT
SUM(REGEXP_SUBSTR(SUBSTR(EVENT_MSG, INSTR(EVENT_MSG, ' ', 1,1), INSTR(EVENT_MSG, ' ', 1,1)) , '[0-9]+')) AS "SUM_OF_ALL_PUSHES",
USER_LOGIN,
COMPONENT_NAME,
EVENT_MSG,
ROW_LST_UPD_TS
FROM EVENT_MGT.EVENT_LOG
WHERE
ROW_LST_UPD_TS BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
AND SUBSTR(EVENT_MSG,1 ,INSTR(EVENT_MSG, 'd', 1,1)) = 'Received'
GROUP BY
USER_LOGIN,
COMPONENT_NAME,
EVENT_MSG,
ROW_LST_UPD_TS) Q
GROUP BY COMPONENT_NAME, USER_LOGIN, ROW_LST_UPD_TS
ORDER BY ROW_LST_UPD_TS ASC
Проблема в том, что мне нужно суммировать числа для каждогопользователь по компоненту.Поэтому в приведенных выше результатах мне нужно объединить столбцы 1, 4 и 5 и сложить значения для SUM_OF_ALL_PUSHES, так как каждая запись имеет пользователя abc и Компонент А.
Итак, в общем, мне нужно удалитьдублирование данных в других столбцах и суммирование значений в первом столбце в зависимости от пользователя и компонента.Поэтому набор результатов должен выглядеть следующим образом:
SUM_OF_ALL_PUSHES | USER_LOGIN | COMPONENT_NAME | ROW_LST_UPD_TS
-------------------|---------------|-------------------|-------------------------
133 | DOMAIN\abc | Component A | 22/02/12 12:58:26.325 PM
14 | DOMAIN\xyz | Component B | 22/02/12 05:20:52.565 PM
17 | DOMAIN\xyz | Component A | 22/02/12 05:21:58.045 PM
Пожалуйста, помогите.