MySQL выбрать самый последний из нескольких столбцов
У меня есть таблица с несколькими столбцами даты, ниже приведен пример столбцов моей таблицы: tbl.user_id
, tbl.date_1
, tbl.date_2
, tbl.date_3
Мне нужно придумать запрос, который вернет user_id
а также most_recent_date
где большинство most_recent_date
самая последняя дата между date_1, date_2 и date_3. Я думаю, что мне нужен вложенный выбор здесь, но я не могу выработать логику для этого. Я надеюсь, что кто-то может указать мне правильное направление здесь.
1 ответ
Вы пробовали функцию Greatest()?
Вот быстрый пример:
SELECT
userId,
greatest(dt1, dt2, dt3)
FROM testTbl;
Вероятно, вы пробовали использовать функцию Max(), как в большинстве языков программирования. Однако в SQL Max является функцией агрегирования. В нем можно указать только одно поле, и оно будет возвращать наибольшее значение в этом столбце, сгруппированное по группам, указанным в GROUP BY.
Функция Greatest() в mySQL является эквивалентом функции Max() из большинства других языков.