Implementando o algoritmo de classificação Hacker News no SQL

Aqui está comoPaul Graham descreve o algoritmo de classificação do Hacker News:

News.YC's é apenas

(p - 1) / (t + 2) ^ 1,5

onde p = pontos et = idade em horas

Eu gostaria de fazer isso no mySQL puro, considerando as seguintes tabelas:

Postagens da tabela com os campos postID (índice) e postTime (registro de data e hora).Tabela Votos com os campos voteID (índice), postID e vote (número inteiro, 0 ou 1).

A idéia do campo de votação é que os votos possam ser cancelados. Para os propósitos da classificação, voto = 0 é equivalente a nenhum voto. (Todos os votos são positivos, nenhum voto negativo.)

A questão é como construir uma consulta que retorne os N postIDs principais, classificados pela fórmula de Paul Graham. Existem aproximadamente 100 mil postagens no total, portanto, se você acha que o cache das pontuações ou algo será necessário, eu adoraria ouvir conselhos sobre isso.

(Obviamente, isso não é ciência do foguete e eu certamente posso descobrir, mas imaginei que alguém que come SQL no café da manhã, almoço e jantar poderia simplesmente fazer isso. E parece valioso ter disponível no StackOverflow.)

Perguntas relacionadas:

Algoritmo de pedidos no estilo Hacker News no Linq-To-SQLComo classificar como Hacker Newshttps://meta.stackexchange.com/questions/11602/what-formula-should-be-used-to-determine-hot

questionAnswers(2)

yourAnswerToTheQuestion