다른 종류의 작업이있는 테이블이 있습니다.SQL + Codeigniter에서 특정 그룹의 최신 개정판을 받으십시오.
그래서 작업이 새로운 라인을 편집 할 때마다 데이터베이스에 추가됩니다id
job_id
rev
[other fields]
, 그것의 작업 ID가 (지난 번과 같은 고유 한 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 문자열을해야합니까?
내가 잘못 생각할 수도 있지만, 우선 'select_max'와'group_by'의 순서를 바꾸어보십시오. –
여전히 작동하지 않습니다. 결과는 동일합니다./ – speyburn
이것은 SQL의 일반적인 문제입니다. http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row를 참조하십시오. html –