gpt4 book ai didi

php - 使用 Group_by 在 CodeIgniter 中获取最新记录

转载 作者:行者123 更新时间:2023-11-29 02:09:10 28 4
gpt4 key购买 nike

我想按user_id分组,得到最后一条记录。

id |     user_id   |      code
---------------------------------------
1 20 12345678
2 22 45678877
3 20 78945642
4 90 45644564
5 20 00000000

这是我目前的情况


$this->db->select('id,user_id, code');
$this->db->from('test');
$this->db->group_by(user_id);
$this->db->where('user_id', 20);
$query = $this->db->get();
return $query->result();

查询结果如下:

Array ( [0] => stdClass Object ( [id] => 1 [user_id] => 20 [code] => 12345678  ) )

期望的输出

Array ( [0] => stdClass Object ( [id] => 5 [user_id] => 20 [code] => 00000000) )

我试过 order_by 但没有成功。 Select MAX('id') 得到我想要的 id 5,但是 id 1 的内容。

最佳答案

因为 max 是一个聚合函数,所以不能直接在 where 子句中使用它。因此,您要么需要运行两个单独的查询并保存 max 函数的结果,要么只从子查询中获取 max。

将此添加到您的查询中:

$this->db->where('id = (select max(id) from test)', NULL, FALSE)

关于php - 使用 Group_by 在 CodeIgniter 中获取最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58840260/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com