雄辩地选择组的最后一行
我有下表:
id name factory
-------------------
1 apple 1
2 orange 2
3 banana 3
4 peach 1
我要选择按factory
值分组并按ID排序的值。
因此,查询将返回橙子、香蕉和桃子(不含苹果)。
我已经尝试过:
$data = Fruit::groupBy('factory')->distinct()->get();
但它返回苹果、橙子和香蕉(而不是橙子、香蕉和桃子)
我也尝试过按ID升序排序,但结果是一样的,只是颠倒了一下。
感谢任何帮助,谢谢。
解决方案
这样解决:
$data = Fruit::whereRaw('id IN (select MAX(id) FROM fruits GROUP BY factory)')->get();
相关文章