Mysql
 sql >> база данни >  >> RDS >> Mysql

Бройте записите в таблицата на mysql като различни колони в зависимост от различните стойности на колона

Бяхте на прав път, но променете броя на SUM( IF( ))... нещо като

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" за другия, ако открие нещо, което вече е отчетено, тогава той сумира нулева стойност. Ако НЕ МОЖЕ да намери един от записите a-e, той сумира ONE за вашия брой „Други“.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Гледате таблица за промяна в MySQL?

  2. Показване на JSON набор от данни като таблица с Node.js и Express

  3. MySQL:УНИКАЛНО, но ПО ПОДРАЗБИРАНЕ NULL - разрешено чрез създаване на таблица. Разрешено е да се вмъкне повече от 1 NULL. Защо?

  4. MySQL LEFT JOIN Заявка с клауза WHERE

  5. SQL за връщане на обединен набор от резултати