当考虑两个字段时,有没有办法获得具有MAX()的行,从而使其中一个优先。例如
ID Column_A Column_B
----------------------------
1 1 3
2 3 2
3 2 2
4 3 1
会返回
ID Column_A Column_B
----------------------------
2 3 2
因为ID的2和4在Column_A上都是MAX,但在Column_B上#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
答案 0 :(得分:1)
你可以试试......
SELECT *
FROM mytable
ORDER BY Column_A DESC, Column_B DESC
LIMIT 1;
(如果我理解正确的话)。
编辑马修普尔顿善意地建议。