У меня есть таблица вроде этого:обновления MySQL столбец на основе ближайшего значения другого столбца
CREATE TABLE IF NOT EXISTS `exam_results` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`student_code` int(11) NOT NULL,
`total_level` int(11) NOT NULL,
`total_rank` int(11) NOT NULL,
`total_level_2` int(11) NOT NULL,
`total_rank_2` int(11) NOT NULL,
);
total_level и total_rank и total_level_2 имеет значение, но total_rank_2 пуста
Я хочу выбрать значение total_level_2 и найти самый близкий друг внутри tot al_level, затем обновить total_rank_2 с total_rank найденного ряда
, как я могу сделать это в запросе?
обновление:
total_level | total_rank | total_level_2 | total_rank_2
--------------------------------------------------------------------------
1500 | 100 | 2000 | ?
--------------------------------------------------------------------------
1700 | 90 | 3500 | ?
--------------------------------------------------------------------------
2000 | 70 | 1500 | ?
, например, в последней строке после обновления должно быть 100. ближе всего то потому что значение total_level_2 в последней строке находится внутри первой строки, так что total_rank_2 последней строки будет total_rank первого ряда
таблица после обновления:
total_level | total_rank | total_level_2 | total_rank_2
--------------------------------------------------------------------------
1500 | 100 | 2000 | 70
--------------------------------------------------------------------------
1700 | 90 | 3500 | 70
--------------------------------------------------------------------------
2000 | 70 | 1500 | 100
Может ли быть уровень 3? – Strawberry