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エントリの1つを見つけることができない場合は、「その他」のカウントの1つを合計します。



    1. PHP/MySQLを使用した動的ブートストラップタブ

    2. SQL:LIMITを使用したINNERJOINを使用したUPDATE

    3. MySQLクエリの値に特定の照合を使用させるにはどうすればよいですか?

    4. SQLServerバックアップチェック