Допустим, у меня есть Posts
и Comments
для приложения блога, использующего Rails и MySQL.
Я хочу оценивать сообщения по количеству комментариев. (Примечание: не просто сортировать, но и получать их 1-й, 2-й, 3-й ранг).
Кроме того, учитывая сообщение, я хочу получить его звание, не загружая все сообщения в Rails и не просматривая их.
например. «Это сообщение заняло 372 место по количеству комментариев»
Наконец, если два поста имеют одинаковое количество комментариев, они должны иметь одинаковый ранг - так что связи в порядке.
Мне показалось, что в MySQL есть некоторые умные решения, такие как этот пост:
Как обрабатывать связи при ранжировании результатов в MySQL?
Мне интересно, есть ли более простое решение путем нормализации некоторых данных в дополнительном поле таблицы сообщений.
Кто-нибудь видел хороший подход к этому?