7
我在表T中有两个整数字段A和B.MySQL:通过两列函数排序
我想要做的事,如 “SELECT * FROM T ORDER BY f(A,B) DESC
”
其中f(A,B)
是A和B的线性组合...即f(A,B) = mA + nB
,其中m和n是数字。
什么是正确的语法?
我在表T中有两个整数字段A和B.MySQL:通过两列函数排序
我想要做的事,如 “SELECT * FROM T ORDER BY f(A,B) DESC
”
其中f(A,B)
是A和B的线性组合...即f(A,B) = mA + nB
,其中m和n是数字。
什么是正确的语法?
你有两个选择(至少):
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为你工作。第一个应该工作,即使第二个不应该。
尽量保持简单,使用以下命令:
SELECT * FROM T ORDER BY (m * A + n * B) DESC
其中m和n是你的责任。
@JonathanLeffler - thanx,忘记了星号8) – 2012-01-08 06:53:37