SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE params (id int, title varchar(32)); INSERT INTO params VALUES (347, 'Param347'),(564, 'Param565'),(252, 'Param252'),(256, 'Param256'); CREATE TABLE `data` (p_id int, `value` int); INSERT INTO `data` VALUES (347, 50),(347, 51),(347, 52),(347, 53),(347, 59),(347, 49), (564, 45),(564, 32),(564, 12),(564, 35),(564, 75),(564, 3); select id, title, avg_value from params join ( select p_id, `value`, avg(`value`) over (partition by p_id order by value desc) avg_value, row_number() over (partition by p_id order by value desc) rn from data ) avg_data on avg_data.p_id = params.id where rn = 2 ;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear