簡體   English   中英

MySQL:按兩列函數排序

[英]MySQL: Order by a function of two columns

我在表T中有兩個整數字段A和B.

我想做類似“ 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是你的責任。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM