簡體   English   中英

PHP命令由兩列加在一起

[英]PHP order by two columns added together

我對此進行了大量研究,但大多數帖子都不理解我的意思。 如何在一個查詢中做多個數據庫列?

我有一個稱為用戶的表,以及兩列名為wallet_cash和bank_cash的列,然后在我的管理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放入

將兩個字段一起添加到您的選擇中,並使用AS將其指定為另一個值。 然后,您可以按新創建的列排序。

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

如果您的問題中的查詢運行,那么問題就出在數據或您的期望上。 查詢:

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM