The problem is that you are grouping by absolutely everything: and each time you add a GROUP BY clause, it adds extra rows to your output.
If you had this data:
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
And you did this:
SELECT A, SUM(B) AS x, SUM(C) AS y FROM MyTable GROUP BY A
Then you get two rows:
A x y
0 2 2
1 2 2
But if you add a second column to your group:
SELECT A, SUM(B) AS x, SUM(C) AS y FROM MyTable GROUP BY A, B
Then you get four rows:
A x y
0 0 1
1 0 1
0 2 1
1 2 1
Because the addition of B to the grouping adds uniqueness to the rows.
Each time you add a clause, you increase the number of rows.
And you have added everything because you can't return a column in a SELECT ... GROUP BY statement unless it is a column listed in the GROUP BY, or in a aggregate function.
Have a look here:
SQL GROUP By and the "Column 'name' is invalid in the select list because..." error[
^] then sit down and think about your data and exactly what you are trying to extract and how that relates to tyour table layout and content.