sql查询问题,求高手帮忙

tananade 2013-12-18 06:27:14
User 表字段如下(各个字段均为varchar)
userid name parent
1 test001 -1
2 test002 -1
3 test003 110
4 test004 -1

Group 表字段如下
groupid groupname
-1 好友
110 110
120 120

想得到如下的查询结果 组id 组名,和该组下的用户数量
groupid name counts
-1 好友 3
110 110 1
120 120 0
在线等高手帮忙。
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2013-12-19
  • 打赏
  • 举报
回复
select  A.groupid,A.groupname,count(B.userid)
 from group A left join user B on A.groupid=B.parent
 group by A.groupid,A.groupname
知道就是你 2013-12-19
  • 打赏
  • 举报
回复
思路大体为:查询USER表,根据USER表中的parent 到Group表中得到组名称,再在USER中使用聚合函数count(userID),在使用group by 对 组ID(parent)分组即可 ; 详细代码如下:
	 select  u.parent as groupid ,(select   g.groupname from  Group  g  where g.groupid=u.parent limit 1 ) as groupname ,count(u.userid) as total  from  User  u  where  1  group  by  u.parent  
WWWWA 2013-12-19
  • 打赏
  • 举报
回复
select A.groupid,A.groupname,count(B.userid) from `group` A left join `user` B on A.groupid=B.parent group by A.groupid,A.groupname
rucypli 2013-12-18
  • 打赏
  • 举报
回复
select A.groupid,A.groupname,count(*) from group A left join user B on A.groupid=B.parent group by A.groupid,A.groupname

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧