gpt4 book ai didi

mysql - 父数据显示与子计数

转载 作者:行者123 更新时间:2023-11-29 07:20:33 25 4
gpt4 key购买 nike

我有一个数据库tbl_products

id   parent_id  product_name 
1 0 abc
2 1 xyz
3 1 fgh
4 1 pqr
5 2 lmn
6 2 uvw

我想显示类似的数据

id   child_count  product_name 
1 3 abc
2 2 xyz
3 0 fgh
4 0 pqr
5 0 lmn
6 0 uvw

最佳答案

您可以使用以下查询:

SELECT id,
(SELECT COUNT(*)
FROM tbl_products
WHERE parent_id = t.id) AS child_count,
product_name
FROM tbl_products AS t

该查询使用相关子查询来获取当前记录的子项数量。

Demo here

或者,您可以使用JOIN:

SELECT t1.id,
COALESCE(t2.cnt,0) AS child_count,
t1.product_name
FROM tbl_products AS t1
LEFT JOIN (SELECT parent_id, COUNT(*) AS cnt
FROM tbl_products
GROUP BY parent_id
) AS t2 ON t1.id = t2.parent_id

Demo here

关于mysql - 父数据显示与子计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36303023/

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