日期:2014-05-16  浏览次数:20727 次

mysql数据库查询统计
数据库类型:mysql5.0
数据库表A:IndexID int 主键 自增长
  UserID int 外键 表C的主键
  aName varchar(20) a名字
  B:ID int 主键 自增长
  IndexID int 外键 表A主键
  bName varchar(20) b名字
  C:UserID int 主键 自增长
  cName varchar(20) c名字
为通讯录结构,表A为通讯录组,表B为通讯录人员,表C为用户表
表B与表C没有直接关联键。
现只知道C的主键UserID,求如何通过一条sql语句查询到该用户下有多少通讯录人员。
sql语句请注意性能优化。
 

------解决方案--------------------
SQL code
select c.UserID,count(*)
from c ,a,b
where c.UserID=a.UserID and a.IndexID=b.IndexID
group by c.UserID

------解决方案--------------------
SQL code
select a.userID,count(*)
from a,b,c
where a.userid=a.userid and a.indexid=b.indexid
group by a.userID