我有一张桌子,上面有不同类型的工作。结构是这样的:
id
job_id
rev
[other fields]
所以每次编辑作业时都会在数据库中添加一个新行,它有一个唯一的 id,job_id 与上次相同(因为作业相同但只是编辑过)并且rev数更大( 1 -> 2)。
现在我想在表格中显示这些工作,id 想获取数据,以便将其与 job_id 分组并显示最新版本。
例子:
1 53kjA7 1 This is a job
2 Adf98A 1 Another job
3 53kjA7 2 This is a job edited
4 8123Ag 1 More jobs
5 Adf98A 2 Another job edited
表格将显示:
3 53kjA7 2 This is a job edited
5 Adf98A 2 Another job edited
4 8123Ag 1 More jobs
我使用 codeigniter 及其内置的活动记录,我试过这样:
$this->db->select()->from('jobs')->group_by('job_id')->select_max('rev');
但结果是一个表格,显示具有最新修订号的分组作业,但所有其他信息来自同一组的另一个作业,如下所示:
1 53kjA7 2 This is a job
2 Adf98A 2 Another job
4 8123Ag 1 More jobs
有没有办法对活动记录执行此操作,或者我是否需要制作自定义 SQL 字符串?