результат в одной таблице

maxon

Новичок
результат в одной таблице

Таблица учета трафика:

id, orig_ip, term_ip, size

(orig_ip - "от куда", term_ip - "куда", size - "сколько байт")

Считаю входящий трафик SELECT term_ip, sum(size) FROM table GROUP BY term_ip

Считаю исходящий трафик SELECT orig_ip, sum(size) FROM table GROUP BY orig_ip

Как объеденить эти два запроса, чтобы в одной таблице получить сразу две суммы (входящий и исходящий) по каждому IP.
 

maxon

Новичок
Не совсем так. Нужен такой результат:

+----------------+------+------+
| ip | inc | out |
+----------------+------+------+
| 4.79.181.15 | 472 | 47 |
| 10.10.9.2 | 56 | 56 |
| 24.0.35.24 | 24 | 14 |
| 24.28.100.3 | 56 | 56 |
| 24.73.134.2 | 80 | 80 |
+----------------+------+------+
 

maxon

Новичок
Как ты хочешь, чтобы это работало? Разве так можно sum использовать?
 

maxon

Новичок
Конкретно у меня это не работает. Думаю что Sum так использовать нельзя. Даже если у кого-то и работает, то я получу два столбца с суммами, а IP-то где искать? Мне просто нужна статистика вход/исход. трафику для каждого IP.
 

chira

Новичок
Код:
SELECT ip, sum(term_size) inc, sum(orig_size) out
FROM (
(SELECT term_ip ip, sum(size) term_size, 0 orig_size FROM table GROUP BY term_ip)
UNION ALL
(SELECT orig_ip, 0, sum(size) FROM table GROUP BY orig_ip)) a
GROUP BY ip
 
Сверху