NOWE POSTY | NOWE TEMATY | POPULARNE | STAT | RSS | KONTAKT | REJESTRACJA | Login: Hasło: rss dla

HOME » INNE » SPECJALISTYCZNE PYTANIE Z ZAKRESU SQL

Przejdz do dołu stronyStrona: 1 / 1    strony: [1]

Specjalistyczne pytanie z zakresu SQL

  
sq3mve
02.06.2017 21:28:44
poziom 6



Grupa: Użytkownik

QTH: JO82MB

Posty: 810 #2431013
Od: 2011-2-24
Witam

Zapoznaj się ze słowem kluczowym HAVING :-)

SQL będzie wyglądał mniej więcej tak:

SELECT AVG(parametr)
FROM tabela
GROUP BY AVG(parametr)
HAVING AVG(parametr) > 100

Rozumiem, że dla Twojego konkretnego przypadku skrypt będzie znacznie rozbudowany...

Pozdrawiam
_________________
Mariusz SQ3MVE
http://sq3mve.marph.pl
-----------------------------------
"A tymczasem lewica jara jointa, zaś prawica buduje pomniki smoleńskie. Czuję się w tym otoczeniu jak pensjonariusz domu wariatów: nie wiem do końca kto jest nienormalny, ja czy oni? Bo wszyscy nie mogą być normalni."
Cytat z blogu Jakuba Chabika
  
Electra25.05.2019 21:23:51
poziom 5

oczka
  
sq3mve
03.06.2017 16:49:40
poziom 6



Grupa: Użytkownik

QTH: JO82MB

Posty: 810 #2431136
Od: 2011-2-24
Witam

A czy nie prościej będzie utworzyć tabelę wynikową, gdzie będziesz wpisywał wyniki pomiarów co 5 minut a dopiero z tej tabeli wybierał Cię interesujące dane w oczekiwany sposób?

Z doświadczenia wiem, że MySQL ma problemy już przy 1,5 mln rekordów w prostej tabeli...

Może czas pomyśleć nad przesiadką na Postgresa?

Pozdrawiam
_________________
Mariusz SQ3MVE
http://sq3mve.marph.pl
-----------------------------------
"A tymczasem lewica jara jointa, zaś prawica buduje pomniki smoleńskie. Czuję się w tym otoczeniu jak pensjonariusz domu wariatów: nie wiem do końca kto jest nienormalny, ja czy oni? Bo wszyscy nie mogą być normalni."
Cytat z blogu Jakuba Chabika
  
sq3mve
03.06.2017 23:52:52
poziom 6



Grupa: Użytkownik

QTH: JO82MB

Posty: 810 #2431200
Od: 2011-2-24
Witam

Jacku, trudno doradzić konkretne rozwiązanie jeśli ma się do dyspozycji garść dość mglistych wskazówek.

Potem wychodzą takie kwiatki: http://usprawnienia.pl/pracownia/hustawka.html ;-)

Co do wyższości świąt, no cóż...

Obecnie pracuję na MySQL, PostgreSQL i Oracle.
Mam do czynienia jeszcze z Teradata, ale to na tę chwilę dla mnie jeszcze ciągle czarna magia :-)

Pozdrawiam

_________________
Mariusz SQ3MVE
http://sq3mve.marph.pl
-----------------------------------
"A tymczasem lewica jara jointa, zaś prawica buduje pomniki smoleńskie. Czuję się w tym otoczeniu jak pensjonariusz domu wariatów: nie wiem do końca kto jest nienormalny, ja czy oni? Bo wszyscy nie mogą być normalni."
Cytat z blogu Jakuba Chabika
  
EI2KK
19.04.2019 19:14:53
poziom 6



Grupa: Użytkownik

Posty: 1394 #2747772
Od: 2012-8-7
Czy może ktoś zna poprawną i działającą składnie dla lead() i lag() na MySQL 5.7.25?

Proszę nie 'błyszczeć' linkami do manuala, nic z tego nie działa.

_________________
DMR TG 2600 (2720126)
Obrazek
  
SQ5KLN
19.04.2019 19:21:39
poziom 4

Grupa: Użytkownik

Posty: 361 #2747773
Od: 2012-7-10


Ilość edycji wpisu: 1
    EI2KK pisze:


    Proszę nie 'błyszczeć' linkami do manuala, nic z tego nie działa.


Manual działa! Zwłaszcza informacja od której wersji mySQL-a ta funkcja jest dostępna bardzo szczęśliwy
  
EI2KK
19.04.2019 19:36:32
poziom 6



Grupa: Użytkownik

Posty: 1394 #2747783
Od: 2012-8-7
    SQ5KLN pisze:

      EI2KK pisze:


      Proszę nie 'błyszczeć' linkami do manuala, nic z tego nie działa.


    Manual działa! Zwłaszcza informacja od której wersji mySQL-a ta funkcja jest dostępna bardzo szczęśliwy


Manual dla 5.7 opiewa nawet w przykłady... błędy składni zaczynają się po OVER... myślisz że jest niedostępna?

_________________
DMR TG 2600 (2720126)
Obrazek
  
SQ5KLN
19.04.2019 19:49:40
poziom 4

Grupa: Użytkownik

Posty: 361 #2747798
Od: 2012-7-10


Ilość edycji wpisu: 1
    EI2KK pisze:


    Manual dla 5.7 opiewa nawet w przykłady... błędy składni zaczynają się po OVER... myślisz że jest niedostępna?


Nie jestem biegły w mySQL (od dawna nie używam, a jeśli już, to wolę MariaDB) ale lead() chyba w 5.7 nie ma - niemniej jednak chętnie obejrzę (link a nie copy&paste bardzo szczęśliwy) przykład w dokumentacji o którym wspominasz (może to zależy od włączenia odpowiednich opcji przy kompilacji albo wymagany jest konkretny "silnik" składowania tabel inny niż domyślny InnoDB).
  
EI2KK
19.04.2019 19:58:37
poziom 6



Grupa: Użytkownik

Posty: 1394 #2747813
Od: 2012-8-7


Ilość edycji wpisu: 1
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 zasadzi ena czymkolwiek za 'ts'

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

_________________
DMR TG 2600 (2720126)
Obrazek
  
SQ5KLN
19.04.2019 20:49:25
poziom 4

Grupa: Użytkownik

Posty: 361 #2747868
Od: 2012-7-10
    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 zasadzi ena 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
  
EI2KK
19.04.2019 23:22:22
poziom 6



Grupa: Użytkownik

Posty: 1394 #2747955
Od: 2012-8-7
    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..
_________________
DMR TG 2600 (2720126)
Obrazek
  
Electra25.05.2019 21:23:51
poziom 5

oczka

Przejdz do góry stronyStrona: 1 / 1    strony: [1]

  << Pierwsza      < Poprzednia      Następna >     Ostatnia >>  

HOME » INNE » SPECJALISTYCZNE PYTANIE Z ZAKRESU SQL

Aby pisac na forum musisz sie zalogować !!!

randki | własny sklep internetowy | promocje | CyberCiekawostki | darmowe forum | sklepy
opinie, testy, oceny | katalog stron | toplsta