sql >> Databáze >  >> RDS >> Mysql

výpočet škálování funkcí mysql

Vaše otázka je trochu krátká na vysvětlení, ale myslím, že chcete funkce okna (dostupné pouze v 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'

Nebo v dřívějších verzích můžete získat stejný výsledek spojením tabulky pomocí agregačního dotazu:

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. Aggregační funkce SQLite

  2. mysql s hodnotami oddělenými čárkami

  3. Dynamický pivot MySQL

  4. Jak mohu vybrat databázi MySQL pro použití s ​​PDO v PHP?