表T中有两个整数字段A和B.
我想做一些像“SELECT * FROM T ORDER BY f(A,B) DESC
”
其中f(A,B)
是A和B的线性组合......即f(A,B) = mA + nB
,其中m和n是数字。
什么是正确的语法?
答案 0 :(得分:13)
您有两种选择(至少):
SELECT (n * A + m * B) AS C, *
FROM T
ORDER BY C DESC; -- or ORDER BY 1 DESC
或者:
SELECT *
FROM T
ORDER BY (n * A + m * B) DESC;
一个或另一个 - 可能两者 - 应该在MySQL中为你工作。第一个应该工作,即使第二个没有。
答案 1 :(得分:5)
尽量保持简单,请使用以下内容:
SELECT * FROM T ORDER BY (m * A + n * B) DESC
其中m和n由您负责。