Сортировка + max + группировка MYSQL

Discussion in 'PHP' started by InfectedM, 22 Nov 2012.

  1. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    В таблице следующие данные:
    1|1|20.12.2005
    2|1|23.12.2005
    3|2|21.12.2005
    4|3|12.12.2005
    5|1|15.12.2005
    6|2|20.12.2010


    Нужно избавится от повторений по второму полю, при удалении повторок, нужно смотреть на дату и оставлять самую высокую...

    Удаляем повторки по второму столбцу, оставляем самую "большую" дату...
    то есть результат должен быть такой:

    2|1|23.12.2005
    3|2|21.12.2005
    4|3|12.12.2005


    Подскажите плиз как такое сделать в одном запросе
     
  2. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    GROUP BY column2 HAVING MAX(date)
     
    _________________________
  3. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Таблица:
    [​IMG]



    [​IMG]

    почему-то не хочет отрабатывать хевинг с максом

    dt - Тип поля DATE
     
  4. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    SELECT * FROM `table` as t1, ( SELECT MAX(date) as mdate FROM `table` GROUP by gar ) as t2 WHERE t1.date = t2.mdate GROUP by t1.gar
     
  5. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Ругается почему-то на Unknown column '1.dt' in 'order clause'
     
  6. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Вообщем сделал вот так, вроде работает)