sql >> Databasteknik >  >> RDS >> Mysql

SQL Hur skapar man ett värde för en ny kolumn baserat på antalet av en befintlig kolumn efter grupper?

Jag tror att du bara vill ha villkorlig aggregering, inte underfrågor:

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;

Obs:om poäng är ett tal och inte en sträng, bör du inte använda enstaka citattecken för konstanten.




  1. Hur STRCMP() fungerar i MariaDB

  2. Hantera frysning i PostgreSQL

  3. ta bort namn från e-post i mysql utan php är det möjligt?

  4. NULLIF() Funktion i Oracle