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

Conta i record nella tabella MySQL come colonne diverse a seconda dei diversi valori di una colonna

Eri sulla strada giusta, ma cambia il conteggio in SUM( IF( ))... qualcosa come

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

Il test "IN" per l'altro, se TROVA qualcosa già contabilizzato, sta sommando un valore zero. Se NON riesce a trovare una delle voci a-e, somma l'UNO per te conteggio "Altro".