2013-10-16 28 views
1
$first = mysql_query("SELECT * FROM feeds ORDER BY (number1 + number2) DESC LIMIT 1"); 

這不起作用。 number1和number2都是int列。如何在mysql請求的ORDER BY部分中總結多個int列?

有什麼建議嗎?

+0

注意,MySQL擴展現在** **棄用,將在未來某個時候刪除。那是因爲它是古老的,充滿了壞習慣並且缺乏一些現代特徵。不要用它來編寫新的代碼。改用PDO或mysqli_ *。 –

+0

我很確定這應該工作:)發佈您的數據庫架構以及樣本數據和錯誤的結果,你說你得到 –

回答

1
SELECT * FROM feeds ORDER BY (select (sum(column1) + sum(column2)) from feeds) DESC LIMIT 1 
0

你可以使用僞場

SELECT *, (number1 + number2) as my_sum 
FROM feeds ORDER BY my_sum DESC LIMIT 1 

一個select_expr可以給使用AS ALIAS_NAME的別名。別名用作表達式的列名稱,可用於GROUP BYORDER BYHAVING子句。

http://dev.mysql.com/doc/refman/5.5/en/select.html