MySQL - 获取拥有"用户联系人"

时间:2016-07-10 13:15:14

标签: mysql join count

考虑以下架构中的三个表 SQL Fiddle

  • 这个迷你模型代表了我正在处理的数据库的简单示例。
  • 用户表有4个属性,user_id(主键auto_increment),country_id是引用 Country 表的外键,user_msisdn是手机用户号码和用户名。
  • Contacts 表有3个属性,contact_id(主键auto_increment),user_id是引用 Users 表的外键,contact_msisdn是用户联系人的电话号码(手机通讯录列表中的电话号码)。
  • 用户表与通讯录表之间的关系是多对多关系,用户可以拥有多个联系人,并且可以在任何用户中找到联系人#39; s联系人列表。

要求:
对于每个国家/地区,请获取至少拥有一个"用户联系人"的用户数,其中"用户 - 联系人"是一个用户的联系人,以及没有任何"用户联系人"的用户数量。

例如,对于国家='瑞典' (country_id = 3),user_id = 3在通讯录表中有两个被视为"用户联系"用(msisdn =' + 220011223344'&' + 224433221100')。所以我想要的查询结果:瑞典有1个用户(user_id = 3)至少有一个"用户联系人"没有"用户联系"等零用户,对每个国家/地区都是如此。

1 个答案:

答案 0 :(得分:3)

试试这个:

state.listdata.splice(id, 1)

<强> Fiddle