这有点难以解释,但我会尽我所能.
我有两张桌子,有多对多的关系;有一个定义关系的链接表.这些表名为Question,QuestionTopic和Topic.主题包含TopicID和TopicName.Question字段,其字段为QuestionID和QuestionText.
我想检索主题列表和属于该主题的问题数量.但是,主题可以组合在一起,并且应该知道该组合特有的问题计数.举个例子:
主题|计数
主题1,主题2 | 10
主题1 | 3
主题2 | 2
以上暗示了topic1有10个独特的问题,10个主题有Topic1和Topic2.剩下的两个问题有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,sql,mysql,join
来源: https://codeday.me/bug/20190902/1791372.html