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

MySQLで列値の出現回数を増やす方法

    MySQLの以前のバージョンで変数を使用できます:

    select t.*,
           (@rn := if(@ce = customer_email, @rn + 1,
                      if(@ce := customer_email, 1, 1)
                     )
           ) as occurrences
    from (select t.*
          from t
          order by customer_email, created_at
         ) t cross join
         (select @ce := '', @rn := 0) params;
    

    MyQL 8以降では、row_number()をお勧めします :

    select t.*,
           row_number() over (partition by customer_email order by created_at) as occurrences
    from t;
    


    1. mysqlのテーブルから最後のNレコードを選択する方法

    2. Azureの自動化メソッド

    3. MySQLのテキストフィールドから2桁の連続した数字を抽出するにはどうすればよいですか?

    4. nullセーフな同等性チェックを実行するためのより優れたOracleオペレーターはありますか?