照理userid有重复的话,应该分表存放比较好。那样就比较简单也快速。
======我这边一个例子,懒得换成你的表了,反正都一样的结构
表c:
     id num name 
      1 12  a 
      2 15  b 
      3 99  b 
      4 18  a 
      5 128 c 
      6 36  a  select x.name, y.*, count(y.name) from 
   (select distinct name from c) as x 
 left join 
   (select c.name,c.num,c.id from c where c.num>50 ) as y 
 on x.name=y.name 
 group by x.name
结果是:
name name num  id   count(y.name) 
a    NULL NULL NULL   0 
b     b    99   3     1 
c     c    128  5     1 
当然前提是mysql4.1以上,支持这种子查询才行。