Я бы запросил основную таблицу идентификаторов, у которой есть промежуточный итог значений.
Затем, через любые вставки в какую-либо альтернативную таблицу, которая учитывает каждую отдельную запись, существует триггер, который вызывает SQL-обновление для основной таблицы ... Таким образом, вам не нужно продолжать делать веб на основе запроса, который всегда выполняет GROUP BY для результатов.
Если это немного сбивает с толку, подумайте о системе инвентаризации. У вас есть одна главная таблица предметов из всех возможных предметов инвентаря. Имеет счет «на руках». Затем, когда продажи товара проданы, количество «на руках» уменьшается, сколько бы ни было куплено. Вы не переходите к каждому отдельному заказу на продажу и не проводите подсчет, сгруппированный по заданному идентификатору, вы просто переходите к основной таблице инвентарных запасов и имеете это «под рукой».