sql >> Database teknologi >  >> RDS >> Mysql

Sådan øges antallet af forekomster af kolonneværdi i MySQL

Du kan bruge variabler i tidligere versioner af 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;

I MyQL 8+ vil jeg anbefale row_number() :

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


  1. Generering af QR-koder fra MySQL-rækker

  2. Hvordan kan jeg vælge det længste tekstfelt, når jeg bruger GROUP BY i mysql, a la MAX()?

  3. Forbind med i Oracle SQL

  4. VÆLG EN række med MAX()-værdien i en kolonne