sql >> Database teknologi >  >> RDS >> Mysql

mysql funktionsskaleringsberegning

Dit spørgsmål er lidt kort om forklaringer, men jeg tror, ​​at du vil have vinduesfunktioner (kun tilgængelig i 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'
 

Eller i tidligere versioner kan du få det samme resultat ved at forbinde tabellen med en samlet forespørgsel:

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. Fjern alle nuldatoer fra MySQL-databasen på tværs af alle tabeller

  2. Javascript sender data via POST i firefox addon

  3. PostgreSQL:FATAL - Peer-godkendelse mislykkedes for bruger (PG::ConnectionBad)

  4. Undslippende jokertegn i LIKE