使用Codeigniter中的Where子句获取最后一条记录

时间:2013-02-23 04:42:57

标签: mysql

I have a table like this

id    username        sb
1     user1_0001      1
2     user1_0002      1
3     user1_0003      1
4     user2_0001      2 
5     user2_0002      2
6     user2_0003      2
7     user3_0001      3
8     user3_0002      3
9     user3_0003      3
10    user3_0004      3

我怎么能查询例如我想得到sb = 1的最后一条记录输出应该是user1_0003?

2 个答案:

答案 0 :(得分:2)

假设您的表名是'table1'。在内部查询中,它返回sb = 1的id的最大值,然后在外部查询中选择匹配返回值的记录。

SELECT * FROM table1 WHERE id = (SELECT MAX(id) FROM table1 WHERE sb = 1);

答案 1 :(得分:0)

因为我在Codeigniter工作。

这是我的解决方案,感谢chandimark

$query = $this->db->query("SELECT * FROM user WHERE id = (SELECT MAX(id) FROM user WHERE sb = '".$sb_id."')");
if ($query->num_rows()== 1)
{
    $row = $query->row();
    echo $row->username;
}