Я думаю, что мой вопрос больше относится к математике, чем к MySQL.
Размещенный заказ может принадлежать одному из трех возможных сервисов (например, A, B, C).Пользователь для бывшего.100 размещенных заказов (например, 30 услуг A, 40 услуг B и 30 услуг C).И размещенный заказ имеет ссылку на свойство (некоторые заказы принадлежат одной и той же ссылке на свойства, а некоторые нет).
Мне нужно рассчитать " Среднее количество заказанных заказов на листинг (уникальная ссылка на свойство)" дляодин конкретный пользователь.Это значение будет от 0 до 3 (например, 1.4).
Например, если пользователь заказал 3 заказа для ссылки «Свойство X» (и не заказал для других свойств), и это были заказы для услуги A, служба A и служба C - среднее значение будет 2 (он заказал 2 типа услуг для одной и той же ссылки на свойство).
Пример данных:
CREATE TABLE IF NOT EXISTS `orders` (
`id` int(6) NOT NULL,
`user_id` int(6) NOT NULL,
`reference` varchar(64) NOT NULL,
`service_type` varchar(16) NOT NULL
);
INSERT INTO `orders` (`id`, `user_id`, `reference`, `service_type`) VALUES
('4', '66', 'Blue house', 'serviceA'),
('2', '66', 'Blue house', 'serviceB'),
('5', '66', 'Blue house', 'serviceB'),
('6', '66', 'Blue house', 'serviceC'),
('1', '66', 'Red house', 'serviceA'),
('3', '66', 'Red house', 'serviceA'),
('7', '66', 'Green house', 'serviceC')
В этом примере: Пользователь заказал 3 уникальные услуги для справки «Голубой дом», 1 уникальную услугу для «Красного дома» и 1 уникальную услугу для справки «Зеленый дом».Мне нужно знать среднее количество заказанных услуг для каждого уникального списка (не для каждого списка, среднее для всего - только ОДНО значение для всех этих данных).Таким образом, у нас есть 3 уникальные ссылки для пользователя (синий, красный, зеленый дома) и мы знаем, сколько уникальных сервисов назначил каждая ссылка.Как получить среднее значение?
Ожидаемый результат, который мне нужен из расчета: ОДНО значение, что-то вроде 1,7 (я не знаю реального значения из этого примера, потому что я не знаю, какрассчитать это математически).Это означает, что пользователь заказал 1,7 (из 3 доступных) сервисов для уникальной ссылки на свойство в среднем в течение всего периода во всех заказах.
Я могу получить итоговые заказы пользователей, итоговые заказы пользователей с уникальнымиСсылка на свойство без проблем, но я не могу понять, как я могу рассчитать то, что мне нужно, не делая много запросов и математических вычислений в PHP.
Например, получение количества заказов с уникальными ссылками на заказы (3 вмой пример ниже):
SELECT COUNT(distinct reference) as total_orders FROM orders WHERE user_id = 66;
Но я не понимаю, что делать дальше.
Пример данных: http://sqlfiddle.com/#!9/dd00d7