sql >> Databáze >  >> RDS >> Mysql

MySQL s InnoDB:Jak se vyhnout použití COUNT?

Vložte své podmínky do sum() . Takto získáte jednotlivé počty

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

Chcete-li získat úplný podmíněný počet, proveďte

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

nebo

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


  1. SSIS API:Jak člověk ví, do jakého rozhraní přenést __COMObject?

  2. Jak používat referenční kurzor Oracle z C# ODP.NET jako parametr ReturnValue bez použití uložené funkce nebo procedury?

  3. Jak monitorovat stav instancí databáze

  4. Aktualizace Yii2 QueryBuilder pomocí funkce Join