Трюк дня. Найти максимальное значение из двух колонок таблицы
Например, есть таблица:
customer value_1 value_2
Alex 5 18
Sam 1 19
Sam 3 2
В результате нужно получить следующее:
customer max
Alex 18
Sam 19
Sam 3
В PostgreSQL, MySQL и Oracle можно воспользоваться функцией
Например, есть таблица:
customer value_1 value_2
Alex 5 18
Sam 1 19
Sam 3 2
В результате нужно получить следующее:
customer max
Alex 18
Sam 19
Sam 3
В PostgreSQL, MySQL и Oracle можно воспользоваться функцией
GREATEST
:SELECT customer, GREATEST (value_1, value_2) FROM table;В SQL Server подобной функции нет, поэтому можно решить эту задачу так:
SELECT customer, MAX (x.combined_val) AS greatest#tips
FROM table AS u
CROSS APPLY (SELECT u.value_1 UNION ALL SELECT u.value_2) AS x(combined_val)
GROUP BY customer;