У меня есть две таблицы.Таблица счетов-фактур:
CREATE TABLE `invoices` (
`id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`invoice_number` int(11) NOT NULL,
`created_date` date NOT NULL,
`expiry_date` date NOT NULL,
`client_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
И услуги счетов-фактур:
CREATE TABLE `invoice_services` (
`id` int(11) NOT NULL,
`invoice_id` varchar(11) NOT NULL,
`description` varchar(255) NOT NULL,
`qty` int(11) NOT NULL,
`value` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Я хочу видеть прибыль по каждому месяцу за каждый год:
SELECT DATE_FORMAT(i.created_date,'%Y-%m') as month, sum(profit) as profit
FROM invoices as i
JOIN (SELECT invoice_id, SUM(value) as profit FROM invoice_services isrv) isrv
ON i.id = isrv.invoice_id
GROUP BY month
Но я получаюошибка:
#1140 - In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'isrv.invoice_id'; this is incompatible with sql_mode=only_full_group_by
Я хочу сохранить этот режим SQL, и я просто не могу обернуть его вокруг.Любая помощь приветствуется.