MySQL, ORM Eloquent. Получить среднее значение

Рейтинг: 0Ответов: 0Опубликовано: 21.02.2023

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

Ответы

Ответов пока нет.