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

MySQLとInnoDB:COUNTの使用を回避する方法は?

    条件をsum()に入れます 。このように、シングルカウントを取得します

    SELECT SUM(sourceItem = 1 AND destinationItem = 1) AS count1,
           SUM(sourceItem = 1 AND destinationItem = 2) AS count2
    FROM trades
    

    完全な条件付きカウントを取得するには、次のようにします

    SELECT SUM(case when sourceItem > 0 and destinationItem > 0 then 2
                    when sourceItem > 0 or destinationItem > 0 then 1
                    else 0 
               end) AS complete_sum
    FROM trades
    

    または

    SELECT SUM(sourceItem > 0) + sum(destinationItem > 0) AS complete_sum
    FROM trades
    


    1. comaprison演算子のMySQLの奇妙な動作(!=/ <>)、つまりNotEqualTo

    2. スペースなしのmysql検索

    3. JDBCまたはHibernateを使用して現在のデータベーストランザクションIDを取得するにはどうすればよいですか?

    4. utf-8文字列をデータベースに挿入してからWebページに出力する際の問題