我正在使用以下SQL查询
select links.id, links.title, links.url, links.user_id, links.created_at, sum(vote) as votes, (sum(vote)) / POWER(time_to_sec(TIMEDIFF(now(),links.created_at))/3600, 1.8) as rank from links inner join votes on links.id = votes.link_id where links.language_id = 2 group by links.id order by rank, links.id DESC LIMIT 10
在本地工作正常,但在我的生产服务器上我收到错误:
#1690 - DOUBLE value is out of range in 'pow((time_to_sec(timediff(now(),`zavoon-news`.`links`.`created_at`)) / 3600),1.8)'
我的开发和生产环境都使用相同版本的MySQL:Ver 14.14 Distrib 5.7.20
我的理解是这一部分:
time_to_sec(timediff(now(),`zavoon-news`.`links`.`created_at`))
超出范围,但我不明白为什么。我看了谷歌,但我无法弄清楚。
这是一个sqlfiddle:http://sqlfiddle.com/#!9/f42838/1
非常感谢:)