У меня есть одна большая таблица со следующей структурой:

Как вы можете видеть на изображении выше, первичный ключ состоит из intervalstart и edgeid, и поэтому в этой таблице нет повторяющихся записей.
Что я хочу сделать сейчас, так это обновить некоторые идентификаторы edgeid, поскольку некоторые из них устарели. Например, я хочу обновить ВСЕ записи, которые имеют edgeid «E304178540From», с новым edgeid «E304178582From». Как вы можете видеть на изображении выше, это не удастся, потому что я бы создал дубликат (но с другими значениями для средней скорости, измерения и количества транспортных средств).
Поэтому в качестве решения я хочу «объединить» эти записи (в этом примере первые две записи на изображении выше) и вычислить новые значения для средней скорости, количества измерений и количества транспортных средств (путем вычисления среднего значения).
Чтобы это выглядело так:
intervalstart | day | edgeid | avgvelocity | measurementcount | vehiclecount
2014-01-01 00:00:00 | 3 | E304178582From | 85 | 1 | 120
Любые предложения о том, как это решить? Спасибо за любую помощь, которую вы можете мне оказать!

Один из вариантов - использовать предложение ON Conflcit команды вставки. Синтаксис следующий:
INSERT INTO table_name(column_list) VALUES(value_list)
ON CONFLICT target action;
Итак, попробуйте вставить новую запись, которая приведет к конфликту (на основе временной метки и идентификатора края), вычислите новое среднее значение и т. д. В предложении о конфликте. Вы можете обратиться к исходным значениям, используя псевдотаблицу EXCLUDED.
Пожалуйста, обратитесь к документации здесь для получения дополнительной информации: https://www.postgresql.org/docs/9.5/static/sql-insert.html
Удалите тег mysql из этого вопроса, если ваш вариант использования ограничен базой данных postgresql.