Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Recuperando agrupamentos de tabelas muitos para muitos


Solução de "trapaça", usando GROUP_CONCAT() . Isso não mostrará a contagem de perguntas que não estão relacionadas a nenhum tópico:
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