sql >> データベース >  >> RDS >> Mysql

col値に基づくMySQLの合計

    条件付き集計を使用できます:

    SELECT fruit, SUM(CASE `a-b-c`
                         WHEN 'a' THEN 1
                         WHEN 'b' THEN 2
                         WHEN 'c' THEN 3
                      END) AS total 
    FROM tbl_fruits
    GROUP BY fruit;
    

    SqlFiddleDemo

    出力:

    ╔═════════╦═══════╗
    ║ fruit   ║ total ║
    ╠═════════╬═══════╣
    ║ banana  ║     3 ║
    ║ orange  ║     7 ║
    ╚═════════╩═══════╝
    

    または、ELT/FIELDを使用します :

    SELECT fruit, SUM(ELT(FIELD(`a-b-c`,'a','b','c'),1,2,3)) AS total 
    FROM tbl_fruits
    GROUP BY fruit;
    

    SqlFiddleDemo2




    1. モジュールの依存関係の使用、パート2

    2. PostgreSQL11を使用したデータのシャーディング

    3. SQLクエリを1つの条件から複数の条件に変更する

    4. 階層関係のSQL