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

Группировка результатов SQL запроса?

Есть простой запрос:
SELECT `id`, `data` FROM `table` WHERE `time` > '2017-02-10'

Результат вида:
id / data
13 / 300
13 / 600
14 / 600
23 / 700
24 / 700
24 / 300

В результатах есть 2 дубля значения столбца data. Из них я хочу оставить только те, у которых id имеет наибольшее значение. Как это сделать? Есть GROUP BY MAX вроде но как его тут применить?
  • Вопрос задан
  • 209 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 2
qonand
@qonand
Software Engineer
SELECT MAX(`id`), `data` FROM `table` WHERE `time` > '2017-02-10' GROUP BY `data`
Ответ написан
Комментировать
@masterfreelance
программист со стажем
SELECT max(`id`) as id, `data` FROM `table` WHERE `time` > '2017-02-10' GROUP BY `data`

Только у вас три дубля по полю дата.
Выборка будет такая:
id / data
14 / 600
24 / 700
24 / 300
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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