我的表格如下所示:
需要找到父级下具有不同评级的子元素的数量,如下所示
例如:在 ELEMENT '1' 下有三个子元素,即 2、3、4,评级为 C、B、C分别。所以没有评级为 'A' 的 child (ren),但是有 1 评级为 'B' & 2 评级为 'C' 的元素。
到目前为止,我已尝试根据父 ID 进行分组并过滤评级,但我无法使用 JOINS 构建单个查询。
最佳答案
您可以使用条件聚合来做到这一点:
SELECT ParentID,
COUNT(CASE WHEN Rating = 'A' THEN 1 END) AS A,
COUNT(CASE WHEN Rating = 'B' THEN 1 END) AS B,
COUNT(CASE WHEN Rating = 'C' THEN 1 END) AS C
FROM mytable
WHERE ParentID IS NOT NULL
GROUP BY ParentID
关于mysql - 统计SQL中每个父元素下每个子元素的评分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35295415/