简化问题,有一个用户表,记录了用户信息
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
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
from userTable a,firendTable b
where a.username=b.username
group by a.username,a.passwd,a.sex
好像直接把mysql运行到死了
from userTable a left join firendTable b
on a.username=b.username
group by a.username,a.passwd,a.sex
inner join firendTable b on a.username=b.usernae and isfriend='是'
group by a.username,a.passwd,a.sex
group by 的条件一定要是usertable的全字段么
left join firendTable b on a.username=b.username and isfriend='true'
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
from userTable u