2013-07-25 4 views
0

다른 종류의 작업이있는 테이블이 있습니다.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 문자열을해야합니까?

+0

내가 잘못 생각할 수도 있지만, 우선 'select_max'와'group_by'의 순서를 바꾸어보십시오. –

+0

여전히 작동하지 않습니다. 결과는 동일합니다./ – speyburn

+0

이것은 SQL의 일반적인 문제입니다. http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row를 참조하십시오. html –

답변

0

몇 가지 생각. 당신의 조인은 다른 테이블과 어떤 관계가 있는가? (나는 조인이 꺼져 있다고 생각한다)? 최신 버전을 사용하려면 order_by가 필요할 수 있습니다.

+0

이러한 종류의 응답은 의견으로 더 잘 게시 될 것입니다. 질문에 대한 답을 추가하면 다른 사람이 와서 대답 할 기회가 크게 줄어 듭니다. –

+0

내가이 담당자에게 의견을 추가하도록했다면 그렇게했을 것입니다.하지만 50 명이 넘지는 않습니다. 그 문자열에 대한 의견을 게시 할 수는 없습니다 ... :) Can 그러나 내가 게시하는 답변에 의견을 게시하십시오! –

관련 문제