Вам нужно будет выполнить итерацию по результату запроса и создать многомерный массив, используя комбинацию месяц / год в качестве ключей. Приведенный ниже запрос должен быть хорошим индикатором того, как получить необходимую информацию из вашей базы данных.
SELECT
MONTH(to.OrderDate),
YEAR(to.OrderDate),
SUM(to.Total),
to.*
FROM tbl_order as to
INNER JOIN tbl_shop as ts ON ts.ShopID = to.ShopID
GROUP BY to.ShopID, MONTH(to.OrderDate), YEAR(to.OrderDate)
Обратите внимание, что я не проверял этот запрос - обработайте его как псевдокод. Возможно, вам придется немного обойти поля GROUP BY и проверить, работает ли он.