Допустим, у меня есть такая таблица:
name | score_a | score_b
-----+---------+--------
Joe | 100 | 24
Sam | 96 | 438
Bob | 76 | 101
... | ... | ...
Я хотел бы выбрать минимум для Score_a и Score_b. Другими словами, что-то вроде:
SELECT name, MIN(score_a, score_b)
FROM table
Результаты, конечно, будут:
name | min
-----+-----
Joe | 24
Sam | 96
Bob | 76
... | ...
Однако, когда я пытаюсь сделать это в Postgres, я получаю: «Ни одна функция не соответствует заданному имени и типу аргумента. Возможно, вам придется добавить явное приведение типов». MAX () и MIN () работают по строкам, а не по столбцам.
Можно ли сделать то, что я пытаюсь?
MAX()
два значения, этоGREATEST(a, b)
:)