copyerfiled
@copyerfiled

Как сформировать mysql запрос, чтобы получить только последние записи для каждого значения поля таблицы?

Добрый день!
Есть статистика звонков, нужен запрос который выдаст только последние записи по времени для каждого телефонного номера.

Таблица выглядит так:
time - время звонка
phone - номер телефона
duration - длительность (в секундах)

Сделал через GROUP BY

SELECT MAX(time), phone, duration
FROM mytable
group by phone
order by 1 DESC


Все бы хорошо, но заметил, что в поле duration попадает неверное значение, проверил, туда попадает значение из самой первой записи для этого номера.
Что я делаю не так? Может есть другой способ?
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
select time, phone, duration from mytable mt
inner join (SELECT MAX(time), phone FROM mytable group by phone) tp on tp.phone =  mt.phone and tp.time = mt.time
order by 1 DESC
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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