Mysql
 sql >> Database >  >> RDS >> Mysql

SQL Come creare un valore per una nuova colonna in base al conteggio di una colonna esistente per gruppi?

Penso che tu voglia solo l'aggregazione condizionale, non le sottoquery:

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:se il punteggio è un numero e non una stringa, non dovresti usare virgolette singole per la costante.