sql >> Database teknologi >  >> RDS >> Mysql

MySQL med InnoDB:Hvordan undgår man at bruge COUNT?

Indsæt dine betingelser i en sum() . Sådan får du enkelttællinger

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

For at få den komplette betingede optælling gør

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

eller

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


  1. MySQL-kompatibilitet med MacOS Sierra

  2. Kan ikke slette en mySQL-tabel. (Fejl 1050)

  3. Hvordan fjerner du dubletter, så der kun findes par i en tabel?

  4. Indeksering for BINÆR LIKE operationer i MySQL