PHP将两列的顺序加在一起

时间:2014-08-01 21:32:33

标签: php mysql sql

我已经对此进行了如此多的研究,但大多数帖子都不明白我的意思。如何在查询中执行多个数据库列?

我有一个名为users的表和两个名为wallet_cash和bank_cash的列,然后我在我的admin cp中有一张表,其中包含大部分现金。我想这样做ORDER BY wallet_cash + bank_cash

由他们订购两个加在一起的变量,但我该怎么办呢?

到目前为止我的尝试

$result = mysql_query("SELECT * FROM users ORDER BY wallet_cash + bank_cash desc LIMIT 4");

但是这只会产生相同的结果,并且不会添加bank_cash,所以就像你刚刚放置ORDER BY wallet_cash

2 个答案:

答案 0 :(得分:2)

在您的选择中将两个字段添加到一起,并使用AS将其指定为另一个值。然后,您可以按新创建的列进行排序。

$result = mysql_query(SELECT *, (wallet_cash + bank_cash) AS total_cash FROM users ORDER BY total_cash desc LIMIT 4");

答案 1 :(得分:2)

如果问题中的查询运行,则问题是数据或您的期望。查询:

SELECT *
FROM users
ORDER BY wallet_cash + bank_cash desc
LIMIT 4;

应该做你想做的事。一个明显的潜在问题是NULL值。如果任一值为NULL,则表达式将评估为NULL。也许这对你有用:

SELECT *
FROM users
ORDER BY coalesce(wallet_cash, 0) + coalesce(bank_cash, 0) desc
LIMIT 4;