sql >> Database >  >> RDS >> Mysql

Tel records in mysql-tabel als verschillende kolommen, afhankelijk van verschillende waarden van een kolom

Je was op de goede weg, maar verander het aantal in SUM( IF( ))... zoiets als

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

De "IN"-test voor de ander, als het iets vindt dat al is verantwoord, dan telt het een nulwaarde op. Als het een van de a-e-items NIET kan vinden, telt het de ONE voor u op voor "Andere".



  1. MySQL-jokerteken in select

  2. MySQL Workbench-zelfstudie - Een uitgebreide gids voor de RDBMS-tool

  3. Eerder Query-logboek bekijken - MySQL

  4. Failover en failback op Amazon RDS