xsacha
Только чтение
- Сообщения
- 1,262
- Реакции
- 1,383
- Баллы
- 5,850
Запрос, чтобы убрать дублирующие строки и отсортировать по столбцу с максимальным значением. Есть несколько строк со счетом (score) одного пользователя (user) к примеру у него 5 строк в базе и есть другой пользователь (user2) у него тоже 5 строк, мне нужно выбрать 2 строки где колонка (score) имеет максимальное значение.
Написал такой запрос, он выполняется в базе нормально, но как его реализовать через finder, просмотрел много плагинов, но запросы в основном пишут в Entity, я хотел это написать в Repository и сделать к этому обращения из контроллера. Подскажите возможно ли такое или если есть предложите свой вариант.
Классические запросы обычно такие:
SQL:
SELECT user_id,
SUBSTRING_INDEX(GROUP_CONCAT(username ORDER BY scor DESC),',',1) AS username,
MAX(scor) AS scor
FROM hal_score
GROUP BY user_id
Классические запросы обычно такие:
PHP:
return $this->finder('Siropu\AdsManager:DailyStats')
->where('ad_id', $adId)
->order('stats_date', 'DESC');