Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL Jak utworzyć wartość dla nowej kolumny na podstawie liczby istniejącej kolumny według grup?

Myślę, że potrzebujesz tylko agregacji warunkowej, a nie podzapytań:

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;

Uwaga:jeśli wynik jest liczbą, a nie łańcuchem, nie powinieneś używać pojedynczych cudzysłowów jako stałej.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqldump version Błąd podczas eksportowania danych z MySQL

  2. Zaawansowane (?) zapytanie AND / OR

  3. jak zarządzać połączeniami z dynamicznie tworzonymi bazami danych

  4. Pomocnik równoważny Doctrine 2 SUM()?

  5. Błąd krytyczny:wywołanie niezdefiniowanej funkcji mysql_connect_errno() in