0
有兩種方法可以在考慮兩個字段時獲取具有MAX()的行,並給出其中一個優先級。例如分層MAX
ID Column_A Column_B
----------------------------
1 1 3
2 3 2
3 2 2
4 3 1
會在Column_B返回
ID Column_A Column_B
----------------------------
2 3 2
因爲這兩個ID的2和4是MAX上Column_A,但#2 「勝」。
我想這個查詢怎麼做,在僞代碼:
If (It's the MAX on A, tied with nothing)
Return it
Else If (It's tied for MAX on A and it's MAX [or tied] on B)
Return it
有沒有我可以放在WHERE或HAVING子句中的條件?因爲我在另一個需要多行的查詢中使用它。 – babonk 2010-08-12 08:04:23
您可以在'FROM'之後和'ORDER BY'之前放置'WHERE'子句。如果你在另一個查詢中使用這個,你可能希望刪除'LIMIT'子句。沒有'GROUP BY'子句的情況下,你不能使用'HAVING',並且在問題的描述中沒有看到其中的任何一個。 – 2010-08-12 08:40:11
由於這是他想要的MAX,它應該是: ORDER BY Column_A DESC,Column_B DESC – 2010-08-12 13:58:43