max()
- это агрегатная функция, которая работает со значениями, которые хранятся в строках (хотя некоторые базы данных, а именно SQLite, позволяют использовать его для списка значений).
Вы можете использовать greatest()
, чтобы получить наибольшее значение по трем столбцам в каждой строке:
select t.*, greatest(a, b, c) d from mytable
С другой стороны, если вам нужно наибольшее значение по всем 3 столбцам и всем строкам , вы можете использовать оба max()
и greatest()
вместе:
select max(greatest(a, b, c)) overall_greatest from mytable