优美的选择组中的最后一行

3

我有以下表格:

id  name    factory
-------------------
1   apple   1
2   orange  2
3   banana  3
4   peach   1

我希望按照它们的工厂值对数值进行分组,并按ID排序。因此,查询将返回橘子、香蕉和桃子(不包括苹果)。

我尝试过这个:

$data = Fruit::groupBy('factory')->distinct()->get();

但它返回苹果、橙子和香蕉(而不是橙子、香蕉和桃子)。我也尝试按照ID升序排序,但结果仍然相同,只是顺序反了一下。感谢任何帮助。
1个回答

21

我是这样解决的:

$data = Fruit::whereRaw('id IN (select MAX(id) FROM fruits GROUP BY factory)')->get();

很棒的答案,对我有用。 - Blessing Tatenda Kabungaidze

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接