发新话题
打印

来一道sql语句的问题,对新手还是有一定难度的~

来一道sql语句的问题,对新手还是有一定难度的~

权限组表:
表名:
group
字段:
gid (id)     grouptitle(权限名称)   priv(权限值数组)

用户表:
members
字段:
uid(id)    grouptitle(属于的权限组)  username(用户名)

逻辑是这样的,一个权限组代表拥有一定权限,用户属于不同的权限组从而可以获得不同的权限,每个用户只能属于一个权限组,当然,一个权限组下有多个用户,两个表通过grouptitle关联,全靠程序限制,没有设置外键。

我现在要用一条sql语句,得到  权限组名称  和  该权限组下的用户数量 来列表显示:

eg:
权限名称     该权限用户数量
主编             5
记者             25
管理员          3


PS: 今天琢磨了半天没搞出来,后来同事给的答案,觉得有制的学习的地方,贴给大家练练手,呵呵~

TOP

貌似 priv(权限值数组)  没用呢!!
都有权限名称啊!
select g.grouptitle,count(username)
from group g,number n
where g.grouptitle=n.grouptitle
group by g.grouptitle;

呵呵  ,猜想的  还望斑竹指正!!
冲啊!  吃饭啦!
www.webphper.cn

TOP

好厉害,已经差不多了,不过楼上这个sql能显示权限组下有用户的用户数量,假设该权限组已经定义,但是还没有用户分配到里面,

比如:有个高级会员组,要求1000分,但是没人够这么多分。

这种情况会员数量应该能显示成0,而不是不显示,呵呵,再改进下~

TOP

发新话题