我有下表:
id name factory
-------------------
1 apple 1
2 orange 2
3 banana 3
4 peach 1
我想选择按其factory
值分组的值,并按ID排序。
因此查询将返回橙色,香蕉和桃子(没有苹果)。
我试过这个:
$data = Fruit::groupBy('factory')->distinct()->get();
但它会返回苹果,橙子和香蕉(而不是橙子,香蕉和桃子)
我也试过按ID升序排序,但结果却相反。
感谢任何帮助,谢谢。
答案 0 :(得分:8)
解决这个问题:
$data = Fruit::whereRaw('id IN (select MAX(id) FROM fruits GROUP BY factory)')->get();