在 codeigniter 中使用 group_by 获取最新数据
use group_by in codeigniter to get latest data
我是 CodeIgniter 的新手。我已经看到与我的问题相关的类似线程,但是我找不到确切的解决方案。我有一个 table 'request',其中包含两列,一列带有 'userId',另一列带有 'requestTime',如下所示(例如)。
key
userId
requestTime
6
abc
55555
5
abc
44444
4
xyz
33333
3
abc
22222
2
xyz
11111
1
lmn
00000
这里我想获取 'userId' 的列表,最晚时间(最大 'requestTime')如下。
userId
requestTime
abc
55555
xyz
33333
lmn
00000
我在 CodeIgniter 中使用以下代码。
$this->db->order_by('request.requestTime', 'desc');
$this->db->group_by('request.userId');
return $this->db->get('request')->result_array();
上面的 CI 代码没有提供我预期的结果。怎样才能得到预期的结果。
$this->db->select_max('request.requestTime','aliasName');
$this->db->group_by('request.userId');
return $this->db->get('request')->result_array();
我已经更新了答案..希望对其他人也有帮助。
我是 CodeIgniter 的新手。我已经看到与我的问题相关的类似线程,但是我找不到确切的解决方案。我有一个 table 'request',其中包含两列,一列带有 'userId',另一列带有 'requestTime',如下所示(例如)。
key | userId | requestTime |
---|---|---|
6 | abc | 55555 |
5 | abc | 44444 |
4 | xyz | 33333 |
3 | abc | 22222 |
2 | xyz | 11111 |
1 | lmn | 00000 |
这里我想获取 'userId' 的列表,最晚时间(最大 'requestTime')如下。
userId | requestTime |
---|---|
abc | 55555 |
xyz | 33333 |
lmn | 00000 |
我在 CodeIgniter 中使用以下代码。
$this->db->order_by('request.requestTime', 'desc');
$this->db->group_by('request.userId');
return $this->db->get('request')->result_array();
上面的 CI 代码没有提供我预期的结果。怎样才能得到预期的结果。
$this->db->select_max('request.requestTime','aliasName');
$this->db->group_by('request.userId');
return $this->db->get('request')->result_array();
我已经更新了答案..希望对其他人也有帮助。