sql >> Database >  >> RDS >> Mysql

Groeperen op LIKE van een kolomwaarde

U kunt case . gebruiken :

SELECT (CASE WHEN plan_type LIKE 'silver%' THEN 'silver'
             WHEN plan_type LIKE 'gold%' THEN 'gold'
             WHEN plan_type LIKE 'platinum%' THEN 'platinum'
        END) as plan_grp, COUNT(*)
FROM subscriptions
GROUP by (CASE WHEN plan_type LIKE 'silver%' THEN 'silver'
               WHEN plan_type LIKE 'gold%' THEN 'gold'
               WHEN plan_type LIKE 'platinum%' THEN 'platinum'
          END);

Bij sommige databases kunt u een kolomalias gebruiken in de GROUP BY .



  1. Mysql datetime-formaat 10 minuten toevoegen

  2. Waarom toont COUNT() slechts één rij met tabellen?

  3. Records van de laatste 10 minuten ophalen in MySQL

  4. Meerdere rijen invoegen in Oracle