В принципе у меня есть две таблицы:AVG ограничивается до 3 последних значений для каждой группы
Вот код, чтобы создать две таблицы, если это может помочь кому-то, кто будет готов помочь мне:
CREATE TABLE IF NOT EXISTS `coefficients` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime` datetime NOT NULL,
`campaign_id` int(11) NOT NULL,
`score` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
INSERT INTO `coefficients` (`id`, `datetime`, `campaign_id`, `score`) VALUES
(1, '2017-01-29 22:32:13', 1, 20.00),
(2, '2017-01-29 22:36:22', 1, 34.00),
(3, '2017-01-29 22:36:30', 1, 30.00),
(4, '2017-01-29 22:36:43', 1, 1000.00),
(5, '2017-01-29 22:37:13', 2, 10.00),
(6, '2017-01-29 22:37:26', 2, 15.00),
(7, '2017-01-29 22:37:43', 2, 20.00),
(8, '2017-01-29 22:30:51', 2, 1000.00);
CREATE TABLE IF NOT EXISTS `statistics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`campaign_id` int(11) NOT NULL,
`stats1` int(11) NOT NULL,
`stats2` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO `statistics` (`id`, `campaign_id`, `stats1`, `stats2`) VALUES
(1, 1, 34, 38),
(2, 2, 23, 45);
Я бы как получить средний коэффициент для каждого campaign_id, рассчитанный на основе последних 3 зарегистрированных коэффициентов для каждого campaign_id.
Вот скриншот из двух таблиц и результат, что мне нужно получить:
data + result (visual representation)
Основная проблема заключается в том, что я понятия не имею, как соединить эти две таблицы, если мне нужно только средний коэффициент для каждого CAMPAIGN_ID на основе 3 последней регистрируемой ню, Берс для него :(
Я буду признателен за любую помощь
Примите изменения и добавьте ожидаемый результат на свой вопрос. –