Mysql
 sql >> Base de données >  >> RDS >> Mysql

calcul de mise à l'échelle des fonctionnalités mysql

Votre question manque un peu d'explications, mais je pense que vous voulez des fonctions de fenêtre (disponibles uniquement dans 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'

Ou, dans les versions antérieures, vous pouvez obtenir le même résultat en joignant la table avec une requête agrégée :

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'