gpt4 book ai didi

php - 从多对多表中检索分组

转载 作者:可可西里 更新时间:2023-11-01 07:59:54 25 4
gpt4 key购买 nike

这有点难以解释,但我会尽力而为。

我有 2 个多对多关系的表;有一个定义关系的链接表。这些表被命名为 Question、QuestionTopic 和 Topic。主题具有字段 TopicID 和 TopicName。问题具有字段 QuestionID 和 QuestionText。

我想检索主题列表和属于该主题的问题数。然而,主题可以组合在一起,并且应该知道该组合特有的问题数量。例如:

主题 |计数

主题1,主题2 | 10

主题1 | 3

主题2 | 2

以上意味着有 3 个问题是 topic1 和 10 个特有的问题,其中有主题 Topic1 和 Topic2。剩下的2题有topic2。我正在使用 MySQL 和 PHP。谢谢。

最佳答案

“作弊”解决方案,使用 GROUP_CONCAT()。这不会显示与任何主题无关的问题的数量:

SELECT
TopicIds
, COUNT(*) AS QuestionCount
FROM
( SELECT
QuestionId
, GROUP_CONCAT(TopicId ORDER BY TopicId) AS Topics
FROM
QuestionTopic
GROUP BY
QuestionId
) AS grp
GROUP BY
Topics

关于php - 从多对多表中检索分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165904/

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