Mysql
 sql >> Base de données >  >> RDS >> Mysql

Récupération de regroupements à partir de tables plusieurs-à-plusieurs

Solution de "triche", utilisant GROUP_CONCAT() . Cela n'affichera pas le nombre de questions qui ne sont liées à aucun sujet :

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