2011-09-05 7 views
0

나는 데이터베이스가 : 테이블이 데이터베이스 : 테이블과 일부 필드를 :mysql, 같은 결과를 계산하는 방법?

id fname  dphone  count_pic dup_id 

6055903 Karla  5126xxx798 1  57 
6173767 Aaliyah  4082xxx534 4  39 
5611411 Aaliyah  4082xxx534 15  39 
5611211 Aaliyah  4082xxx534 18  39 
4234798 Abby  3057xxx974 31  16 
6166691 Walter  6178xxx280 1  74 
3375576 Walter  6178xxx280 17  74 

내가 뭘하려고 오전 작은 count_pic이 필드와 더 큰 count_pic을 가지고있는 사람을 선택하는 것입니다 그 같은 dup_id 및 fname을 가지고

어떤 아이디어가 MySQL에서 이것을 어떻게?

SELECT * 
    FROM `table` t1 
INNER JOIN (SELECT MIN(count_pic) AS minpic, 
       MAX(count_pic) AS maxpic, 
       dup_id 
      FROM `table` 
     GROUP BY dup_id) t2 ON t1.dup_id = t2.dup_id 
         AND (t1.count_pic = minpic 
          OR t1.count_pic = maxpic) 

어떤 아이디어를 어떻게 루프에 fname를 추가 :

나는 FNAME을 그런 것들을 일치하지만하지 않습니다 대답있어? 지금은 같은 것을 추적 할뿐입니다. dup_id

감사합니다.

답변

-1
SELECT * 
FROM table 
WHERE (fname, countpic, dupid) in (
    SELECT fname, max(countpic), dupid FROM table GROUP BY fname, dupid 
    union 
    SELECT fname, min(countpic), dupid FROM table GROUP BY fname, dupid 
) 
+0

거의 없지만 내 질문에서 템플릿을 유지하고 싶습니다.이 쿼리는 필요한 모든 결과를 얻지 못하는 것 같습니다. – Patrioticcow

관련 문제