sql >> データベース >  >> RDS >> Mysql

列値のLIKEでグループ化

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

    一部のデータベースでは、GROUP BYで列エイリアスを使用できます 。



    1. 挿入前に重複をチェックするInsertステートメント

    2. 通知のために毎秒テーブルを照会します。それは良い習慣ですか?

    3. MySqlの階層データ

    4. サブクエリと結合