В моей таблице есть записи, упорядоченные по timestamp
. Я хочу вернуть одну запись с максимальным значением timestamp
.
. Это работает:
SELECT max(`timestamp`) FROM `messages`
Однако возвращается только значение timestamp
. Поэтому я пытаюсь выбрать значение message
:
SELECT max(`timestamp`), `message` FROM `messages`
Я получаю эту ошибку:
In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column 'database.messages.message'; this is incompatible with sql_mode=only_full_group_by
Поэтому я добавляю GROUP BY:
SELECT max(`timestamp`), `message` FROM `messages`
GROUP BY `message`
Однако это просто приводит к возврату каждого значения в таблице.
Я понимаю, что GROUP BY должна объединять идентичные записи, просто я понятия не имею, почему я вынужден использовать его в этой ситуации и как просто получите последнюю запись больше, чем все.