堆栈溢出';MySQL中的流行算法

堆栈溢出';MySQL中的流行算法,mysql,algorithm,math,Mysql,Algorithm,Math,您将如何在MySQL中编写SO的流行算法 此处详细介绍了算法: 谢谢 这相对简单 t = (time of entry post) - (Dec 8, 2005) 您可以将日期值转换为时间戳(可以使用),这将为您提供一个整数,可以在其余的比较中使用 x = upvotes - downvotes 这个应该很简单。。。显然MySQL支持减法 y = {1 if x > 0, 0 if x = 0, -1 if x < 0) z = {1 if x < 0, otherwise

您将如何在MySQL中编写SO的流行算法

此处详细介绍了算法:


谢谢

这相对简单

t = (time of entry post) - (Dec 8, 2005)
您可以将日期值转换为时间戳(可以使用),这将为您提供一个整数,可以在其余的比较中使用

x = upvotes - downvotes
这个应该很简单。。。显然MySQL支持减法

y = {1 if x > 0, 0 if x = 0, -1 if x < 0)
z = {1 if x < 0, otherwise x}
MySQL有一个函数,所以这个函数也应该很简单,只是简单的数学

然后,你用一份声明把这一切联系在一起。您可以使用将中间计算存储在
select
语句中。例如:

select @x := (upvotes - downvotes) as x,
       (@x > 4) as isXGreaterThanFour

在CASE语句中如何使用“x”(向上投票和向下投票)?我添加了一个如何使用变量进行中间计算的示例。您能完整地写出这个吗?我在这里还是很困惑。。。
select @x := (upvotes - downvotes) as x,
       (@x > 4) as isXGreaterThanFour