1. Сравнивая эти 2 метода, видно, что они отличаются - super() вызывается в разных местах
2. Для попдобных занятий лучше не использовать "родной" queryRun, а создавать новый на основе query. Это, кстати, поможет избежать ошибок, когда "родной" не инициализирован (еще)
PHP код:
Query query;
QueryRun queryRun;
;
if (this.queryRun())
query = this.queryRun().query();
else
query = this.query();
// Тут можно поменять что-дь в запросе, например добавить суммирование по полю
................
queryRun = new QueryRun(query);
3. Как считать сумму это дело личных предпочтений