【发布时间】:2015-04-11 17:56:03
【问题描述】:
在我的 MySql 表中,我有这样的 id 定义的组:
组 1 - 01
第 2 组 - 02
第 3 组 - 03
这些组有子组:
01 组有子组:011、013、014...
成员是每个子组的一部分。例如,John 是 011 子组的成员。
我需要计算每个组的所有成员(以及它的子组)并将其显示在组名旁边,如下所示:
组 01:100 名成员
第 02 组:45 名成员
03组:73名成员
我正在使用 html、php、mysql 和 yii2 php 框架。
使用 yii2 活动记录,我这样计算组 01 的成员:
<?= Club::find()->where(['like', 'group_id', '01%', false])->count() ?>
这段代码正在执行这个查询:
SELECT COUNT(*) FROM `club` WHERE `group_id` LIKE '01%'
完成这项任务的最佳方式是什么?我需要显示所有组成员的计数列表。我认为最佳方法不是为每个组运行此查询并在页面中硬编码。
有什么帮助,mysql、php、yii2...什么的?
【问题讨论】:
-
还在苦苦挣扎?考虑遵循这个简单的两步操作过程: 1. 如果您还没有这样做,请提供适当的 DDL(和/或 sqlfiddle),以便我们可以更轻松地复制问题。 2. 如果您尚未这样做,请提供与步骤 1 中提供的信息相对应的所需结果集。
-
您有子组表吗?
-
不,组存储在严格的层次结构中。他们的 ID 代表该层次结构。例如,第一组(父级)的 id 为 01000,该(子组)的孩子是:01100、01200、01300... 而这些孩子有他们的孩子,例如,孩子 01100 有孩子:01110、01120...
标签: php mysql list group-by yii2