Выберите самые высокие 3 балла в день для каждого пользователя
У меня есть таблица MYSQL, как это:
id | userid | score | datestamp |
-----------------------------------------------------
1 | 1 | 5 | 2012-12-06 03:55:16
2 | 2 | 0,5 | 2012-12-06 04:25:21
3 | 1 | 7 | 2012-12-06 04:35:33
4 | 3 | 12 | 2012-12-06 04:55:45
5 | 2 | 22 | 2012-12-06 05:25:11
6 | 1 | 16,5 | 2012-12-06 05:55:21
7 | 1 | 19 | 2012-12-06 13:55:16
8 | 2 | 8,5 | 2012-12-07 06:27:16
9 | 2 | 7,5 | 2012-12-07 08:33:16
10 | 1 | 10 | 2012-12-07 09:25:19
11 | 1 | 6,5 | 2012-12-07 13:33:16
12 | 3 | 6 | 2012-12-07 15:45:44
13 | 2 | 4 | 2012-12-07 16:05:16
14 | 2 | 34 | 2012-12-07 18:33:55
15 | 2 | 22 | 2012-12-07 18:42:11
Я хотел бы отображать баллы пользователей следующим образом: если у пользователя в определенный день более 3 баллов, он получит только наивысшие 3 балла, повторяйте это каждый день для этого пользователя и затем складывайте все дни вместе. Я хочу отобразить эту сумму для каждого пользователя.
РЕДАКТИРОВАТЬ: Таким образом, в примере выше для пользователя 1 06.12. Я бы сложил 3 лучших результата вместе и проигнорировал 4-й, затем добавил к этому числу 3 лучших со следующего дня и так далее. Мне нужен этот номер для каждого пользователя.
РЕДАКТИРОВАТЬ 2: Ожидаемый результат:
userid | score
--------------------
1 | 59 //19 + 16.5 + 7 (06.12.) + 10 + 6.5 (07.12.)
2 | 87 //22 + 0.5 (06.12.) + 34 + 22 + 8.5 (07.12.)
3 | 18 //12 (06.12.) + 6 (07.12.)
Надеюсь, это более понятно :)
Я был бы очень признателен за помощь, потому что я застрял.