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 секунд, что довольно долго, так как записей может быть на порядок больше.