sql >> Databasteknik >  >> RDS >> Mysql

Hur skriver man sql-frågan för att välja och gruppera efter typ och antal per typ?

Använd bara villkorlig aggregering:

select name, sum(type = 0) as count_0, sum(type = 1) as count_1
from t
group by name;

Detta använder en MySQL-funktion som behandlar booleska värden som siffror i ett numeriskt sammanhang, med 0 för falskt och 1 för sant. Att lägga ihop värdena räknar därför antalet gånger uttrycket är sant.




  1. Infoga flera e-postmeddelanden till mysql med ett enda textområde

  2. Rails:Ingen anslutningspool för ActiveRecord::Base

  3. SQL Server Error - HRESULT E_FAIL har returnerats från ett anrop till en COM-komponent

  4. Fix Msg 8114 "Fel vid konvertering av datatyp varchar till numerisk" i SQL Server