Mysql Sql查询按排名排序但乘以发布时间的数据顺序
我有一个文章提要,这些文章目前在SQL查询中按“投票数”排序。我想把它发表以来的时间因素考虑进去,以便对最近的文章给予更多的重视Mysql Sql查询按排名排序但乘以发布时间的数据顺序,mysql,sql,Mysql,Sql,我有一个文章提要,这些文章目前在SQL查询中按“投票数”排序。我想把它发表以来的时间因素考虑进去,以便对最近的文章给予更多的重视 SELECT * FROM articles WHERE date >= DATE_SUB(NOW(),INTERVAL 24 HOUR) ORDER BY (votes * (720/#####)) DESC LIMIT 100 我可以用什么代替“######”来返回文章发表后的时间量(以分钟为单位) 因此,10分钟前发表的一篇投1票的文章等于72(
SELECT *
FROM articles
WHERE date >= DATE_SUB(NOW(),INTERVAL 24 HOUR)
ORDER BY (votes * (720/#####)) DESC
LIMIT 100
我可以用什么代替“######”来返回文章发表后的时间量(以分钟为单位)
因此,10分钟前发表的一篇投1票的文章等于72(1*720/10)。。。
并且排名低于10票但在60分钟前发表的文章,等于120(10*720/60)假设
日期是发表日期,您可以使用:
尝试此操作时,我得到以下错误:SQL语法中有一个错误;查看与MySQL服务器版本对应的手册,了解在第1行“DESC LIMIT 100”附近使用的正确语法。我现在看到了。在“DESC”之前还需要一个括号。谢谢你的解决方案@班贾克斯。或者比以前少一个。我把第一个打开的帕兰去掉了。
SELECT *
FROM articles
WHERE date >= DATE_SUB(NOW(),INTERVAL 24 HOUR)
ORDER BY votes * (720/TIMESTAMPDIFF(minute, date, NOW())) DESC
LIMIT 100