Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zählen Sie Datensätze in der MySQL-Tabelle als verschiedene Spalten, abhängig von verschiedenen Werten einer Spalte

Sie waren auf dem richtigen Weg, aber ändern Sie die Anzahl in SUM( IF( )) ... so etwas wie

select
      sum( if( s.job_search_text = 'a', 1, 0 ) ) as 'A',
      sum( if( s.job_search_text = 'b', 1, 0 ) ) as 'B',
      sum( if( s.job_search_text = 'c', 1, 0 ) ) as 'C',
      sum( if( s.job_search_text = 'd', 1, 0 ) ) as 'D',
      sum( if( s.job_search_text = 'e', 1, 0 ) ) as 'E',
      sum( if( s.job_search_text IN ( 'a', 'b', 'c', 'd', 'e' ), 0, 1 ) ) as 'Other'
   from 
      subscriber s

Der "IN"-Test für den anderen, wenn er etwas findet, das bereits berücksichtigt wurde, summiert er einen Nullwert. Wenn es einen der a-e-Einträge NICHT finden kann, summiert es die EINE für Sie "Andere" Zählung.