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

SQLグループごとの既存の列の数に基づいて新しい列の値を作成するにはどうすればよいですか?

    サブクエリではなく、条件付き集計が必要だと思います:

    select Max(Counting) as Total, student, stdType,
           sum(case when score = '3' then 1 else 0 end) as Score3,
           sum(case when score = '4' then 1 else 0 end) as Score4
    from #tempBWMSHonors3
    group by student, stdType;
    

    注:スコアが文字列ではなく数値である場合は、定数に一重引用符を使用しないでください。




    1. 変数を使用せずにplpgsql関数に整数を返すようにできますか?

    2. Java:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:データベースサーバーへの接続を作成できませんでした

    3. androidのSqliteからのListView

    4. Oracleで内部結合を使用して更新する方法