Реализация алгоритма ранжирования Hacker News в SQL

Здесь 'как Пол Грэм описывает алгоритм ранжирования для Hacker News :

News.YC составляет всего

(p - 1) / (t + 2) ^ 1.5

, где p = баллы и t = возраст в часах

Я бы хотел сделать это в чистом mySQL с учетом следующих таблиц:

  • Таблица сообщений с полями postID (индекс) и postTime (временная метка).
  • Таблица голосов с полями voteID (index ), postID и vote (целое число, 0 или 1).

Идея поля для голосования состоит в том, что голоса могут быть отменены.

Идея поля для голосования состоит в том, что голоса могут быть отменены.

Идея поля для голосования состоит в том, что голоса могут быть отменены. Для целей ранжирования голос = 0 означает полное отсутствие голосования. (Все голоса являются голосами «за», а не «против».)

Вопрос в том, как построить запрос, который возвращает N первых postID, отсортированных по формуле Пола Грэма. com / questions / 11602 / what-formula-should-be-to-define-hot

13
задан Community 23 May 2017 в 12:00
поделиться