MySQL, ORM Eloquent. Получить среднее значение
Использую Eloquent отдельно от Laravel и PHP. Имеется таблица MySQL. Мне необходимо получить среднюю цену товара.
В таблице есть номер товара (не ID), который дублируется и цена товара.
product_id | price
630184 | 300
630184 | 320
630184 | 280
Секция price соответственно цена, а code идентификатор товара.
Каким способом я могу узнать среднюю цену с помощью Eloquent / MySQL?
Я могу получить все записи с ID товара и после разделить количество на общую стоимость, из чего могу получить среднюю цену, но записей может быть довольно много (до нескольких млн), что существенно замедляет общее время выполнения запроса.
Структура таблицы:
code Index varchar(15) - может быть только строкой.
price varchar(255) - зачастую цифра с плавающей точкой.
При выполнении операции: select avg(price) from product where code like '01%'; я получаю около 300 тысяч записей и вывожу среднее значение по price за 10 - 13 секунд, что довольно долго, так как записей может быть на порядок больше.