Группировка результатов 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 вроде но как его тут применить?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы