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

MySQL - Licznik w grupie

Zmienne definiowane przez użytkownika stają się przydatne podczas rozwiązywania tego problemu. To powinno działać:

select g, x, counter from (
    select g, x,
        @counter := if (g = @prev_g, @counter + 1, 1) counter,
        @prev_g := g
    from tb, (select @counter := 0, @prev_g := null) init
    order by g, x
) s

Jeśli naprawdę nie przeszkadza ci czwarta kolumna, możesz bezpiecznie usunąć zewnętrzne zaznaczenie. To znacznie poprawiłoby wydajność.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można wstawić dane do widoku MySQL?

  2. Wyjątek mySQL:nie można połączyć się z żadnym z określonych hostów MySQL. przez C#

  3. Czy możliwe jest posiadanie domyślnego parametru dla procedury składowanej mysql?

  4. Jak wybrać ostatnie 6 miesięcy z tabeli aktualności za pomocą MySQL?

  5. Jak przyspieszyć ładowanie danych do InnoDB (LOAD DATA INFILE)?