2013-04-30 5 views
1

мне нужна помощь с этим: Предположат, у меня есть следующие записи:Как получить последнюю запись в MySQL Group

Driver Date Consultant 
1 1/01/2010 A 
1 3/04/2010 A 
1 3/04/2010 A 
1 25/06/2012 B 
2 24/03/2012 C 
3 13/01/2012 A 
3 15/01/2012 B 
3 15/01/1012 C 

Дата и консультант пришел из таблицы котировок, Драйвер происходит от ВОДИТЕЛЯ Таблица. Связано с идентификатором драйвера.

мне нужно, чтобы получить результаты, чтобы установить выглядеть следующим образом:

Driver Quote Count First date Last Date Consultant 
1   4  1/01/2010 25/06/2012 B 
2   1  24/03/2012 24/03/2012 C 
3   3  13/01/2012 15/01/1012 C 

В MySQL, как я могу получить консультанта в наборе результатов, чтобы стать последним консультантом, который работал на ЦИТАТЫ?

ответ

1

Можно сделать это с явным присоединиться:

select q.*, t.consultant 
from (select driver, count(*) as quotecount, min(date) as FirstDate, max(date) as lastdate 
     from t 
     group by driver 
    ) q join 
    t 
    on t.driver = q.driver and t.date = q.lastdate 
+0

Почти работал как есть. Но если даты были одинаковыми для разных консультантов, запрос дублировал бы результаты. Понял, что auto-increments quote_ID с каждой цитатой, поэтому проверка MAX (quote_ID) вместо MAX (date) для драйвера привела мне результаты, которые я хотел. – user1058946

Смежные вопросы