2011-08-31 73 views
0

我有一个数据库:database与表:table和一些领域:MySQL和PHP,如何比较数字

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

任何想法如何在MySQL中做到这一点?

谢谢。

+0

怎么办你想要结果出来吗?你想每个'dup_id'有一行吗?或者是其他东西? –

回答

5

有了这个查询,你会选择每dup_id

SELECT MIN(count_pic) AS minpic, 
     MAX(count_pic) AS maxpic, 
     dup_id 
    FROM `table` 
GROUP BY dup_id 

count_pic最小和最大的价值。如果你还需要相应的行,那么你可以使用类似

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) 
+0

嘿,如果我还想添加'WHERE t1.fname = t2.fname'。我一直试图做一段时间没有结果。我会很感激。谢谢 – Patrioticcow