gpt4 book ai didi

php - MySQL 检索用户结果集中用户拥有的用户数

转载 作者:行者123 更新时间:2023-11-29 13:57:19 25 4
gpt4 key购买 nike

我有两个表用户和 parent 。

  1. 每个用户都有一个唯一的 ID 和一个父 ID(这是将他引荐至网站的 ID)。
  2. root 用户的父 ID 为 0。
  3. 具有相同父 ID 的用户是该 ID 的子用户

用户
id
姓名
电子邮件


parent
id
父ID
加入金额

我想要一个查询,其中我将提供 parent 的 ID。

此查询应返回其所有子查询以及以下信息

ID,姓名,电子邮件,加入金额,(该用户拥有的 child 数量)

是否可以在一个查询中完成此操作?
如果不是,我应该如何标准化数据库才能在一个查询中完成此操作。
非常感谢任何帮助。

编辑:

users表将包含所有用户信息

假设这是用户表。

id  name    email1   Admin   admin@web.com2   John    John@web1.com3   Larry   Larry@web2.com4   Jone    Jone@web3.com

只有通过推荐才能注册。
由于管理员没有被任何人引用,因此他的parentId 是0。
假设管理员引用了 larry 和 john(因此他们的父 id 为 1),并且 john 从他的推荐中带来了另一个用户,其名字为 jone(因此他的父 id 是 john),那么家长表应该如下所示。

加入金额暂时可以忽略,它只是申请的一部分。

id  parentId  joinAmount1   0        10002   1        10003   1        10004   2        1000

所以现在我想要一个查询,如果我传递一个 id 1(管理员 id),它应该返回他 child 的

id, name, email, joiningAmount, (**No of Childrens this user has**)2, John, John@web1.com, 1000, 1(as john has 1 child)3, Larry, Larry@web2.com, 1000, 0

最佳答案

Unamata Sanatarai 的答案为基础,这是查询:

SELECT users.id, users.name, users.email, users.joiningAmount, 
(SELECT COUNT(*) FROM users AS children WHERE children.parent_id = users.id ) AS children_count
FROM users WHERE users.parent_id = 3

关于php - MySQL 检索用户结果集中用户拥有的用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15644224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com