0

有没有办法在考虑两个字段时获得具有 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,但 #2 在 Column_B 上“获胜”。

我希望此查询以伪代码执行的操作:

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
4

1 回答 1

1

你可以试试...

SELECT *
    FROM mytable
    ORDER BY Column_A DESC, Column_B DESC
    LIMIT 1;

(如果我正确理解了这个问题)。

按照 Matthew Purdon 的建议进行编辑。

于 2010-08-12T07:55:02.900 回答