Существует три способа передать 2D-массив функции:
int array[10][10];
void passFunc(int a[][10])
{
// ...
}
passFunc(array);
int *array[10];
for(int i = 0; i < 10; i++)
array[i] = new int[10];
void passFunc(int *a[10]) //Array containing pointers
{
// ...
}
passFunc(array);
int **array;
array = new int *[10];
for(int i = 0; i <10; i++)
array[i] = new int[10];
void passFunc(int **a)
{
// ...
}
passFunc(array);
Вы можете использовать LEFT JOIN
:
SELECT g.id, i.metric, AVG(i.value)
FROM items_group g
LEFT JOIN items i ON i.group_id=g.id
GROUP BY g.id, i.metric