Я использую MySQL для решения этой проблемы. Мне нужно дать очки пользователю, основанному на общем времени, проведенном им по вопросу. Я рассчитал время, потраченное на пользователя. Скажем, это находится в user_time таблица.MySQL: диапазон на основе строк во внешней таблице
user_id question_id time_spent
1 1 7
1 2 50
2 1 11
Мои точки диапазона на основе:
[0-10) seconds: 100 points,
[10-20) seconds: 300 points,
[20-30) seconds: 500 points,
[30, inf): 1000 points
Точные 10 секунд будет принести мне 300 очков. Хотя изменения точного числа были бы низкими, учитывая, что я вычисляю из разницы системных часов.
Эта информация в настоящее время забил во внешней таблице points_table
time_spent points
0 100
10 300
20 500
30 1000
Мне нужен запрос, который выясняет, какой диапазон секунды принадлежит и дать мне этот результат.
user_id question_id points
1 1 100
1 2 1000
2 1 300
Я пробовал думать о разных типах соединений, но не мог думать о том, кто ответит на это конкретное требование.
Что вы пробовали? –
составляет 20 секунд 300 баллов или 500 баллов – Strawberry