Иерархический Макс - PullRequest
       10

Иерархический Макс

0 голосов
/ 12 августа 2010

Есть ли способ получить строку, которая имеет 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

Поскольку оба идентификатора 2 и 4 являются максимальными для Column_A, но # 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

1 Ответ

1 голос
/ 12 августа 2010

Вы можете попробовать ...

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

(если я правильно понял вопрос).

Отредактировано, как любезно предложил Мэтью Пурдон.

...