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

BŁĄD 1064 (42000) błąd bazy danych w składni nad partycji przez

Funkcje okna (takie jak lead() ) zostały dodane tylko w MySQL 8.0, więc nie są dostępne w wersji 5.7. Możesz emulować lead() z samodołączeniem w taki sposób:

select t.*, tlead.state, tlead.timestamp
from FinalTable t
left join FinalTable tlead 
    on tlead .id = t.id
    and tlead.timestamp = (
        select min(t1.timestamp) 
        from FinalTable t1 
        where t1.id = t.id and t1.timestamp > t.timestamp
    )

Uwaga dodatkowa:aby ta metoda działała poprawnie, potrzebujesz kolejnych rekordów o tym samym id mieć inny timestamp s - co nie ma miejsca w przykładowych danych, które pokazałeś, gdzie wszystkie znaczniki czasu są takie same (zakładam, że jest to literówka w twoich przykładowych danych).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja skrótu Hive dająca 0,null i 1, dlaczego?

  2. Jak przywrócić z polecenia drop database za pomocą dziennika binarnego mysql?

  3. MYSQL - Usuń zapytanie z dołączeniem

  4. Połączenie z bazą danych laravel zwraca niezdefiniowany błąd indeksu

  5. Jak obsłużyć masowe przechowywanie rekordów w bazie danych w celu autoryzacji użytkowników?