Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wylicz wiersze w mysql na podstawie grup

Przed wprowadzeniem typowych wyrażeń tabelowych w MySQL 8, pierwsza metoda GL byłaby najszybsza, ale oto kilka innych pomysłów (również przy użyciu starszej technologii), dla zabawy...

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. upewnij się, że wynik metody pobierania PDO jest błędem lub pustym wynikiem

  2. Dodaj sortowanie stronicowania i wyszukiwanie za pomocą jquery datatable

  3. Docker MySQL - nie można połączyć się z aplikacji Spring Boot do bazy danych MySQL

  4. Uzyskiwanie połączenia PHP PDO z mysql_connect()?

  5. Czy mogę uruchomić HTTP GET bezpośrednio w SQL pod MySQL?