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

SQL Hvordan opretter man en værdi for en ny kolonne baseret på antallet af en eksisterende kolonne efter grupper?

Jeg tror, ​​du bare vil have betinget aggregering, ikke underforespørgsler:

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;

Bemærk:Hvis score er et tal og ikke en streng, bør du ikke bruge enkelte anførselstegn for konstanten.




  1. SQL - Hvordan gemmer og navigerer man i hierarkier?

  2. Få optælling fra 2 bord og gruppe efter måned

  3. Hvordan kan jeg bruge mysql i C++?

  4. Implementer en Hybrid Cloud MySQL-database ved hjælp af ClusterControl