sql >> Database >  >> RDS >> Mysql

MySQL - Meerdere WHEN-voorwaarden combineren in CASE

hoe zit dit?

SELECT  CASE 
          WHEN org.size IN (0, 1) THEN '<26'
          WHEN org.size = 2 THEN '26-50'
          WHEN org.size = 3 THEN '51-100'
          WHEN org.size = 4 THEN '101-250'
          WHEN org.size = 5 THEN '251-500'
          WHEN org.size = 6 THEN '501-1000'
          WHEN org.size = 7 THEN '1001-5000'
        ELSE '5000+' END AS Size, ....

Het probleem is dat je de records org.size groepeert waardoor <26 bij twee verschillende groepen omdat ze oorspronkelijk 0 . zijn en 1 .

Dit zal werken,

GROUP BY CASE 
          WHEN org.size IN (0, 1) THEN '<26'
          WHEN org.size = 2 THEN '26-50'
          WHEN org.size = 3 THEN '51-100'
          WHEN org.size = 4 THEN '101-250'
          WHEN org.size = 5 THEN '251-500'
          WHEN org.size = 6 THEN '501-1000'
          WHEN org.size = 7 THEN '1001-5000'
        ELSE '5000+' END



  1. MySQL Entity Framework Error - De opgegeven winkelprovider kan niet worden gevonden in de configuratie of is niet geldig

  2. ASP.NET gebruik SqlConnection connect MySQL

  3. Hash-joins op nullable-kolommen

  4. MySQL selecteer deelnemen waar EN waar