sql >> Base de Datos >  >> RDS >> Mysql

SQL ¿Cómo crear un valor para una nueva columna en función del recuento de una columna existente por grupos?

Creo que solo quieres agregación condicional, no subconsultas:

select Max(Counting) as Total, student, stdType,
       sum(case when score = '3' then 1 else 0 end) as Score3,
       sum(case when score = '4' then 1 else 0 end) as Score4
from #tempBWMSHonors3
group by student, stdType;

Nota:si la puntuación es un número y no una cadena, entonces no debe usar comillas simples para la constante.