Size: a a a

Laravel для начинающих

2020 June 04

RK

Roman Kolosov in Laravel для начинающих
$users = \DB::table('results')
   ->select(\DB::raw('max(point) as max_point, user'))
   ->orderBy('
max_point', 'desc')
   ->groupBy('user')
   ->limit(10)
;


$results = Result::
query()
   ->joinSub($users, 'users', function ($join) {
       $join->on('users.user', '=', 'results.user')
;
       $join->on('users.max_point', '=', 'results.point');
   })->get();
источник

w

walfter in Laravel для начинающих
На лимит не будет жаловаться?
источник

V

Vitaly in Laravel для начинающих
вот чистый запрос решающий задачу
 select max(id),user,max(point),max(created_at) from results group by user order by max(point) desc limit 10;

переписать в билдер и всё http://sqlfiddle.com/#!9/14d65/4
источник

RK

Roman Kolosov in Laravel для начинающих
хз, если что можно поменять на skip(0)->take(10)
источник

RK

Roman Kolosov in Laravel для начинающих
Vitaly
вот чистый запрос решающий задачу
 select max(id),user,max(point),max(created_at) from results group by user order by max(point) desc limit 10;

переписать в билдер и всё http://sqlfiddle.com/#!9/14d65/4
да епрст
источник

RK

Roman Kolosov in Laravel для начинающих
ну сколько раз говорить)
источник

RK

Roman Kolosov in Laravel для начинающих
в group by должны быть все поля которые используеются в селекте
источник

RK

Roman Kolosov in Laravel для начинающих
это у mysql только такая странная хрень с тем что он не орет на нарушение синтаксиса
источник

S

Stas in Laravel для начинающих
Vitaly
вот чистый запрос решающий задачу
 select max(id),user,max(point),max(created_at) from results group by user order by max(point) desc limit 10;

переписать в билдер и всё http://sqlfiddle.com/#!9/14d65/4
да  все вроде так если убрать макс айди но дату негруперует
источник

RK

Roman Kolosov in Laravel для начинающих
и почему max(id)?
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
Roman Kolosov
и почему max(id)?
Агрегаты можно юзать без группировки
источник

S

Stas in Laravel для начинающих
я незнаю зачем он сделал
источник

ИЛ

Иван Лещенко... in Laravel для начинающих
В данном случае id всегда будет нужный, так как он всего один
источник

RK

Roman Kolosov in Laravel для начинающих
не увидел, не суть max(id) это не правильное условие
источник

S

Stas in Laravel для начинающих
источник

RK

Roman Kolosov in Laravel для начинающих
хм
источник

S

Stas in Laravel для начинающих
даты невышли
источник

V

Vitaly in Laravel для начинающих
Roman Kolosov
и почему max(id)?
он писал что ему нужны максимальные id .. я же писал у одного юзера 72 поинты одинаковые 140 .. их три штуки
источник

RK

Roman Kolosov in Laravel для начинающих
ну тогда мб и ок
источник

RK

Roman Kolosov in Laravel для начинающих
весело)
источник