2012-02-07 2 views
2

나는 데이터베이스에서 각 시스템에 현재 및 새 모델을 알려줍니다. (각 행에는 시스템 이름, 현재 모델 및 새 모델이 있습니다.) 결과를 현재 모델과 새 모델로 그룹화해야합니다. 따라서 현재 모델과 새 모델이 동일하면 하나의 결과가 필요합니다. 그 일을해야하지만 각 그룹에 얼마나 많은 시스템이 있는지 알아야합니다. 어떻게해야합니까? 임 사용하여 CI각 GROUP BY 결과에서 행 수 찾기

이 내 쿼리

$query2 = $this->db->query('SELECT * FROM rollout_systems WHERE scope_ID = '.$id.' GROUP BY EAM_Model, new_Model'); 

(EAM_Model = 현재 모델) 내가 충분히 명확 경우

이 몰라입니다. 현재 시스템, 새 시스템 및 해당 그룹의 시스템 수를 표시 할 수 있어야합니다. 3 개 행이 현재의 시스템으로 "ㅋ"거기로 "blahblah"새로운 시스템이있는 경우

그래서, 나는 그것을 말하고 싶은 현재 : ㅋ 새로운 기능 : 시스템의 저쩌구 수 : 3

+1

'SELECT * .... GROUP BY field1, field2'는 말도 안돼. 정확히 무엇을 얻으려고하고 있니? rollout_systems의 – JNK

+0

에는 시스템 목록이 있습니다. 각 행 (시스템)에는 현재 모델과 새 모델이 있습니다. 두 개 이상의 행에 동일한 현재 및 새 모델이 그룹화되어있는 경우이를 작성하려고합니다. 그러나 각 그룹에 몇 개의 행 (시스템)이 있는지도 알아야합니다. –

+0

보고 싶은 필드를 선택해야합니다. 집계가 실제로 어떻게 작동하는지 정말로 읽어야합니다. 나는 당신이'GROUP'이 어떻게 작동하는지 혼란 스럽다고 생각합니다. – JNK

답변

2

이 동일한 성명에서 select *와 group을 수행하는 것은 의미가 없습니다. 기준별로 그룹화해야하는 항목이 선택 항목에 있어야하지만 선택 항목에 count (*)와 같은 집계 함수가 있어야합니다. 나는 완전히 당신이 뭘 하려는지 이해가 잘 모르겠어요,하지만 난 당신이 뭔가 할 생각 :

SELECT EAM_Model, new_Model, count(*) 
FROM rollout_systems 
WHERE scope_ID = '.$id.'    
GROUP BY EAM_Model, new_Model 
+0

그러나이 결과는 그룹의 현재 및 새로운 모델과 행의 개수를 말해 줄 수 있습니까? –

+0

예, EAM_Model | new_Model | row_count –

0

방금 ​​항목의 수를 원하는 경우, 사용 SELECT EAM_Model, new_Model, COUNT(*) FROM ... 등 그룹화 a를 쿼리를 사용하면 일반적으로 COUNT 또는 SUM과 같은 집계를 수행하려고합니다. 그렇지 않으면 데이터를 그룹화하는 것이 의미가 없습니다. ;

0

$ 쿼리 1 =는 $ this-> db-> query (.. $ 아이디 'EAM_Model, new_Model BY GROUP' 'rollout_systems FROM WHERE의 scope_id = 수 (*) 선택')

요청하신 내용이 맞습니까?

+0

아니요, EAM_Model 및 new_model을 반환하지 않습니다. –