Mysql
 sql >> Base de données >  >> RDS >> Mysql

Regrouper par LIKE d'une valeur de colonne

Vous pouvez utiliser case :

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);

Certaines bases de données permettent d'utiliser un alias de colonne dans le GROUP BY .