sql >> Databasteknik >  >> RDS >> Mysql

Implementering av Hacker News rankingalgoritm i SQL

Otestad:

  SELECT x.*
    FROM POSTS x
    JOIN (SELECT p.postid, 
                 SUM(v.vote) AS points
            FROM POSTS p
            JOIN VOTES v ON v.postid = p.postid
        GROUP BY p.postid) y ON y.postid = x.postid
ORDER BY (y.points - 1)/POW(((UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(x.timestamp))/3600)+2, 1.5) DESC
   LIMIT n


  1. Postgresql-uppdatering med join

  2. Uppgradering till PostgreSQL13

  3. Var ska jag förvara inloggningsuppgifterna för min databas?

  4. hur kontrollerar man om en sträng ser slumpmässig ut, eller mänskligt genererad och kan uttalas?