Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Sql查询按排名排序但乘以发布时间的数据顺序_Mysql_Sql - Fatal编程技术网

Mysql 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(

我有一个文章提要,这些文章目前在SQL查询中按“投票数”排序。我想把它发表以来的时间因素考虑进去,以便对最近的文章给予更多的重视

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