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

Obliczanie skalowania funkcji mysql

Twoje pytanie jest trochę krótkie, ale myślę, że potrzebujesz funkcji okna (dostępne tylko w MySQL 8.0):

select 
    time, 
    value,
    (value - min(value) over() / (max(value) over() - min(value) over()) normalized_value
from measurement_values  
where measure_id = 49 and time >= '2020-05-30 00:00'

Lub we wcześniejszych wersjach ten sam wynik można uzyskać, łącząc tabelę za pomocą zapytania zbiorczego:

select 
    mv.time, 
    mv.value,
    (mv.value - mx.min_value) / (mx.max_value - mx.min_value) normalized_value
from measurement_values  
cross join (
    select min(value) min_value, max(value) max_value
    from measurement_values
    where measure_id = 49 and time >= '2020-05-30 00:00'
) mx
where measure_id = 49 and time >= '2020-05-30 00:00'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java Android AsyncTask + połączenie mysql

  2. Mysql LEFT JOIN z trzech tabel powraca do wielu wierszy

  3. Jak dodać sumę jako ostatni wiersz w moim sql?

  4. Wstaw podzapytanie w wybranym zapytaniu

  5. zapytanie o poziomy układ danych mysql