sql >> Database >  >> RDS >> Mysql

Vergelijkbare rijen naast elkaar groeperen in MySQL

U kunt dit doen door een slimme truc te gebruiken. De truc is om het aantal beschrijvingen tot een bepaalde id te tellen die verschillend zijn van de beschrijving op die id . Voor waarden in een reeks is dit nummer hetzelfde.

In MySQL kunt u deze telling doen met behulp van een gecorreleerde subquery. De rest groepeert alleen op dit veld om de waarden bij elkaar te brengen:

select min(id) as id, description, count(*) as numCondensed
from (select t.*,
             (select count(*)
              from table t2
              where t2.id <= t.id and t2.description <> t.description
             ) as grp
      from table t
     ) t
group by description, grp;



  1. Een database maken in SQL Server

  2. Kan ik VARCHAR als PRIMAIRE SLEUTEL gebruiken?

  3. django.db.utils.OperationalError:(2013, verbinding met MySQL-server verbroken bij 'handshake:initieel communicatiepakket lezen', systeemfout:0)

  4. Bidirectionele DB-codering veilig, zelfs van de Admin