简化问题,有一个用户表,记录了用户信息
     userTable        字段:Id usename  passwd sex 
有个好友信息表
     firendTable      字段:id username  friendname   isfriend(标记username 和 friendname是否为好友)    我现在想通过一条语句得到用户的好友数     
            就是说得到的结果集如
          username         passwd      sex            friendnum
          张三             1234560      1                 210
          李四             5555555      0                 2030
          周杰伦            989989      1                   5

解决方案 »

  1.   

    select a.username,a.passwd,a.sex,count(distinct b.friendname)friendnum
    from userTable a,firendTable b
    where a.username=b.username
    group by a.username,a.passwd,a.sex
      

  2.   


    好像直接把mysql运行到死了
      

  3.   

    这个mysql语法应该差不多吧select a.username,a.passwd,a.sex,count(b.friendname)friendnum
    from userTable a left join firendTable b
    on a.username=b.username
    group by a.username,a.passwd,a.sex 
      

  4.   

    不知道能不能帮上select a.username,a.passwd,a.sex,count(distinct friendname) as '好友数' from userTable a
    inner join firendTable b on a.username=b.usernae and isfriend='是'
    group by a.username,a.passwd,a.sex
      

  5.   


    group by 的条件一定要是usertable的全字段么
      

  6.   

    select a.username,a.passwd,a.sex,count(distinct friendname) from userTable a 
    left join firendTable b  on a.username=b.username and isfriend='true'
      

  7.   

    caca[flash=http://player.pps.tv/static/vs/v1.0.0/v/swf/flvplay_s.swf?url_key=32WBV1&wok=3TWNMG&prange=2][/flash]
      

  8.   

    这个可以吗?
    select u.username,u.passwd,u.sex,f.usercount from usertable as u
    inner join (select username,count(username) as usercount from friendtable where isfriend='Y' group by username)
    as f on f.username=u.username
      

  9.   

    select username ,passwd,sex ,(select count(1) from friendTable where isfriend=u.id ) as 'friendnum'
    from userTable u