有什么办法可以让MYSQL查询的结果按两列之和而不是单列之和排序?
Select * FROM table ORDER BY (col1+col2) desc
我知道那是行不通的,但我希望它能很好地表达我想做的事情。
谢谢!
为什么不先试一下再下结论说行不通呢? 事实上,它是行得通的。
我想你应该能够做到
SELECT *, col1+col2 as mysum ORDER BY mysum
基本上和你已经有了一样的东西。
假设你有一个名为'学生'
现在你想知道每个学生的总分,所以,键入以下查询。
SELECT Name, S1, S2, SUM(S1+S2) AS TOTAL
FROM Students
GROUP BY Name, S1, S2
ORDER BY Total;
你会得到以下结果。
你写的查询应该可以正常工作,你可以用任何表达式在 ORDER BY
子句,我可以确认这在某些情况下是行不通的。
我可以确认这在某些情况下是不工作的。NULL
Select * FROM table ORDER BY (IFNULL(col1,0)+IFNULL(col2,0)) desc