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

Tæl poster i mysql-tabel som forskellige kolonner afhængigt af forskellige værdier af en kolonne

Du var på rette vej, men skift tæller til SUM( IF( ))... noget i retning af

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

"IN"-testen for den anden, hvis den FINDER noget, der allerede er taget højde for, så summerer den en nulværdi. Hvis den IKKE KAN finde en af ​​a-e-posterne, summerer den ONE for dit antal "Andet".



  1. PostgreSQL:Unik overtrædelse:7 FEJL:dubletnøgleværdi overtræder unik begrænsning users_pkey

  2. PHP &MySQL sideinddeling

  3. SQL Server - indre joinforbindelse ved opdatering

  4. Sådan angives placeringen af ​​datafiler og logfiler, når du opretter en database i SQL Server