Задать вопрос

Как одним select выбрать максимальную дату в MYSQL?

Есть таблица, в которой есть тип поля datetime и timestamp. Мне нужно выбрать максимальное по времени (тип datetime) значение. Пишу :

select info, MAX(date) from table

Он мне выдает максимальную дату все ОК, но значение info от первой строки в результате выборки.

Правильно работает конструкция:

Select * from table where date IN (SELECT MAX(`date`) as `time` FROM `table`)

Я правильно понимаю, что только через вложенный селект можно это сделать? Т.е в одном селекте нельзя.
  • Вопрос задан
  • 14794 просмотра
Подписаться 1 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
DevMan
@DevMan
вы правильно понимаете: если нужно получить все записи с максимальной датой, то без подзапроса не обойтись.

PS у вас вопрос расходится с кодом.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
Одну строку?
select info, date from table order by date desc limit 1;

Если все строки с одинаковой максимальной датой - то да, подзапрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы