Specjalistyczne pytanie z zakresu SQL
    SQ5KLN pisze:

      EI2KK pisze:

      podesle przy okazji, ciekawe jest ze syntax error zglasza mi nie na samym lag(), ale pozniej, np

      select *,
      lag(c1, 1) over order by ts
      from tabela

      daje blad dopiero na 'from', a w zasadzie na czymkolwiek za 'ts'

      No nic, skoro nei ma, to jakiś wolkaround sie wymysli


    W oficjalnym doku w "What Is New in MySQL 8.0" https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html jest punkt "Window functions" i po tym wnioskuję, że oficjalnie dopiero od tej wersji wspomniana funkcjonalność jest zaimplementowana. Może we wcześniejszych wersjach już to było jako opcja niestandardowa (do włączenia przy własnej kompilacji bądź do załadowania jako moduł itp.). Może pomyliłeś z przykładami/dokami od MariaDB, która miała window functions zaimplementowane ze dwa lata przed wydaniem mySQL v8.0


Tak, co do v.8 to mam jasność, ale nie jestem pewien kiedy moja firma hostingowa zrobi migracje... nie jest to coś o wysokim priorytecie, ale bardzo wygodznie dałoby się w jednym zapytaniu policzyć np. ile razy IMF zmieniło 'polaryzacje' z ujemnej na dodatnią i na odwrót w danym okresie czasu. Czytałem 'paper' który wykazywał zależność częstości zmian IMF na WIADOMO-CO, tylko że próbka danych wydał mi się wtedy mało reprezentatywna, a i grupa kontrolna budziła pewne wątpliwości. A że dziś w pracy uzywałem window function na SQL Microsoftu, to jkoś założyłem że skoro tam to działa, to w MySQL już jest od zawsze...

Ciekawe że nie buntuje się MySQK na LAG() ani na OVER, a dopiero dalej..


  PRZEJDŹ NA FORUM