我的表格如下:
需要查找父级下具有不同评级的子元素数量,如下所示
例如:在ELEMENT '1'下,有三个子元素, 2,3,4 ,评分 C,B,C 分别。所以没有评级'A'的孩子,但 1 元素的评分为'B'&评分为'C'的 2 元素。
到目前为止,我尝试基于父ID进行分组并过滤评级,但我无法使用JOINS构建单个查询。
答案 0 :(得分:0)
您可以使用条件聚合执行此操作:
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