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