Выберите самые высокие 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.)

Надеюсь, это более понятно :)

Я был бы очень признателен за помощь, потому что я застрял.

Ответы на вопрос(2)

Ваш ответ на вопрос