Таблица member и таблица ranking: id, result, month (от задачи нужно понимать как нумеровать, хоть просто число и знать, что 1 - это 7.2015, можно строкой, в одни, от ситуации), member_id.
Первый запрос вообще элементарный. Второй на SQL хз как, но выбрать за последние три месяца и отсортировать на уровне приложения. Если сильно хорошо подумать, там с несколькими вложенными select может к чему-то прийти и можно, но тут конечно нужно понимать задачу, нагрузку и прочее. Так как можно написать полноценную функцию на SQL, но это уже больше работа для DBA.