MySQL выбрать самые последние из нескольких столбцов - PullRequest
0 голосов
/ 01 мая 2018

У меня есть таблица с несколькими столбцами даты, ниже приведен пример столбцов моей таблицы: 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 Ответ

0 голосов
/ 01 мая 2018

Вы пробовали использовать функцию Greatest ()?

Вот краткий пример:

SELECT
    userId,
    greatest(dt1, dt2, dt3)
FROM testTbl;

Возможно, вы пробовали использовать функцию Max (), как в большинстве языков программирования. Однако в SQL Max является функцией агрегирования. В нем можно указать только одно поле, и оно будет возвращать самое большое значение в этом столбце, сгруппированное по группам, которые объединяет ваша GROUP BY.

Функция Greatest () в mySQL является эквивалентом функции Max () из большинства других языков.

...