mysql - Multiple Aggregate with different Group By -
i have table user, company, parentcompany , table goal. each company have parentcompany, , each user inside 1 company. goal have number of action, , type of goal, user execute goal, , time executed.
i want calculate number of action in date range each type of goal, each user, company, , parent_company. number of action each company equal sum of action user reside in company.
more or less after join query, able table below, column id id of company, parent_id id of companyparent, , num number of goal user inside of id company.
id          parent_id            num ----------- -------------------- ----------------------- 1           3                    1 2           1                    2 3           1                    1 4           2                    4   now want make below:
id          parent_id            sum_id         sum_parent ----------- -------------------- -------------- ------------- 1           3                    1              1 2           1                    2              3 3           1                    1              3 4           2                    4              4   how can make works? can 1 of value (sum_id or sum_parent) group by,
select id,sum(num) sum_id tablea group id   or
select parent_id,sum(num) sum_parent tablea group parent_id   but there way make in 1 query? tablea results query 5 join inside.
try this:
select a.id, a.parent_id, a.sum_id, b.sum_parent (select id, parent_id, sum(num) sum_id tablea group id)  inner join (select parent_id, sum(num) sum_parent tablea group parent_id) b on a.parent_id = b.parent_id      
Comments
Post a Comment