sql >> Database >  >> RDS >> Mysql

Opsommen van rijen in mysql op basis van groepen

Voorafgaand aan de introductie van algemene tabeluitdrukkingen in MySQL 8, zou de eerste methode van GL het snelst zijn, maar hier zijn een paar andere ideeën (ook met oudere technologie), gewoon voor de lol...

1.

SELECT x.*
     , COUNT(*) rank 
  FROM my_table x 
  JOIN my_table y 
    ON y.a = x.a 
   AND y.b <= x.b 
 GROUP  
    BY x.a
     , x.b;

2.

SELECT x.* 
     , FIND_IN_SET(b,n) rank 
  FROM my_table x 
  JOIN 
     ( SELECT a 
            , GROUP_CONCAT(b ORDER BY b) n 
         FROM my_table 
        GROUP 
           BY a
     ) y 
    ON y.a = x.a;


  1. PG COPY-fout:ongeldige invoersyntaxis voor geheel getal

  2. SQL Server 2008-ondersteuning wordt beëindigd. Wat nu?

  3. Mysql:hoe selecteer je groepen met bepaalde waarden?

  4. Selecteer, waar JSON Array bevat