我有一个包含以下内容的表:
id seller_id amount created_at
1 10 100 2017-06-01 00:00:00
2 15 250 2017-06-01 00:00:00
....
154 10 10000 2017-12-24 00:00:00
255 15 25000 2017-12-24 00:00:00
我想获取每个单个Seller_id的所有最新行。我可以得到这样的最新行:
$sales = Snapshot::where('seller_id', '=', 15)
->orderBy('created_at', 'DESC')
->first();
如何仅获得每个卖方的最新行?
要获取每个Seller_id的最新记录,您可以使用以下查询
select s.*
from snapshot s
left join snapshot s1 on s.seller_id = s1.seller_id
and s.created_at < s1.created_at
where s1.seller_id is null
使用查询生成器,您可以将其重写为
DB::table('snapshot as s')
->select('s.*')
->leftJoin('snapshot as s1', function ($join) {
$join->on('s.seller_id', '=', 's1.seller_id')
->whereRaw(DB::raw('s.created_at < s1.created_at'));
})
->whereNull('s1.seller_id')
->get();
我试着补充: 并用调用,但响应为空。
我被一个简单的任务困住了。我只需要这通电话的结果 其中,是一个模型。我试过这个 但它不起作用。从表中获取所有数据并对其进行排序的更好方法是什么?
问题内容: 我有一张表: 我需要选择具有最大更新值的id和val。因此,对于此表,结果应为: 问题答案: 这需要在与主表连接的子查询中进行汇总。
在oracle DB中检索具有大组最大值的行时遇到问题。 我的桌子看起来是这样的: id,col1,col2,col3,col4,col5,date_col 谢谢你的提示! 干杯
我有三张桌子: 每当我尝试添加时,我试图获得一个帖子,它会自动添加一个,其中包含,表以及,同时,一旦创建了,它还应该记录和,但我使用多对多关系和结束了这个错误。如何使用eloquent添加和? 这就是我迄今为止所尝试的。 控制器。php 使用者php UserACcount.php Verification.php 账户php 我尝试使用这个功能,完全可以正常工作,但我很确定这就是它如何与雄辩。
问题内容: 我已经看到了很多解决此类问题的解决方案尤其是此SQL仅选择在Column上具有Max Value的行,但是似乎没有一个合适的解决方案: 我有以下表格布局,即附件的版本控制,这些附件绑定到实体: 输出应该是最大版本号,按group_id和Entity_id分组,如果有帮助,我只需要一个单个entity_id的列表即可: 我想出的是这种自我加入: 但是,只有在不同的实体不共享相同的组号的情