现在有两张表,一张表user 其中有用户来源(source)用户手机号(mobile)用户添加时间(addTime)用户状态(status:0存在 1删除)另外一张多对多的用户上下级关系表请根据下级用户的创建时间段和上级用户的手机号根据上级用户id分组并统计下级数量
时间: 2024-01-05 19:03:12 浏览: 113
在一个表中对用户进行查询、修改、删除和增加
好的,根据您的问题,可以使用如下 SQL 语句来实现:
```
SELECT u.id AS '上级用户id', COUNT(DISTINCT ur.relate_user_id) AS '下级数量'
FROM user u
JOIN user_relation ur ON u.mobile = ur.superior_user_mobile
WHERE ur.create_time BETWEEN '开始时间' AND '结束时间'
AND u.status = 0
GROUP BY u.id;
```
其中,需要将 `开始时间` 和 `结束时间` 替换为您实际需要查询的时间段。此外,需要注意的是,此 SQL 语句中的 `DISTINCT` 关键字可以保证一个下级用户只被计算一次,避免了重复计算的情况。
阅读全文