顺序:两列之间的差


Order by: Difference between two columns

我有一个关于SQL查询的问题。我在users表中有两列:

Moneytotal和Moneythisweek

现在我想订购差额的结果。Moneytotal和Moneythisweek的差距越大,排名就越靠前。

通常我使用:

$lsel_rank = mysql_query("select * from users ORDER BY Moneytotal DESC");
$rank = mysql_fetch_array($lsel_rank);

但是现在我想这样做:

lsel_rank = mysql_query("select * from users ORDER BY Difference between Moneytotal         
AND Moneythisweek DESC");

有人能帮我吗?

SELECT * FROM `users` ORDER BY Moneytotal - Moneythisweek DESC

就用这个

$lsel_rank = mysql_query("select *,'moneytotal - monethisweek' as difference from users ORDER BY difference DESC");

选项1:(按顺序计算)

SELECT * FROM `users` ORDER BY (Moneytotal - Moneythisweek) DESC;

选项2:(按顺序使用编号索引,计算差异,并使其在select查询的结果集中可用

SELECT (Moneytotal - Moneythisweek) difference, a.*  FROM `users` a ORDER BY 1 DESC;