我想知道是否可以添加一些数学来用MySQL和PHP对数据库进行排序。
简而言之,一位朋友想要一个人们为服务支付他们想要的东西的网站,但是他的注意力将用于支付更高的费用,并在他有时间的情况下向较低的支付工作。
简单的方法是按照支付的金额订购记录,但是这意味着支付5便优先于在那里停留20天的东西,所以我有想法增加支付的金额每天1便士。
有没有办法用不涉及写入表的sql语句来执行此操作,还是应该将所有内容都放入PHP数组并在那里进行所有计算?或者,是否值得在数据库中增加两个表,一个具有递增的成本,另一个用于跟踪上次更新的时间,以避免每天重复计算一次以上?
我想尝试使用最有效的解决方案,虽然PHP计算路线看起来最简单,但我必须立即处理所有记录然后对它们进行排序,这在服务器上可能非常繁重。 / p>
答案 0 :(得分:2)
您只需使用datediff()
:
order by payment + datediff(curdate(), submitdate) desc