2012-01-30 3 views
1

Надежда это possible-заказа, сохраняя при этом группы с MySql

Есть таблица так:

Car_ID Brand Model  Year 
---------------------------------- 
    1  Ford  Focus  2012 
    1  Ford  Mustang  1992 
    2  Toyota Yaris  2005 
    3  BMW  1s   1995 
    4  VW  Polo  2010 
    4  VW  Golf  2002 
    4  VW  Beetle  2007 

И хотите приказывая, как это:

Car_ID Brand Model  Year 
---------------------------------- 
    1  Ford  Focus  2012 
    1  Ford  Mustang  1992 

    4  VW  Polo  2010 
    4  VW  Beetle  2007 
    4  VW  Golf  2002 

    2  Toyota Yaris  2005 

    3  BMW  1s   1995 
  • Так бренд с новейшей моделью, а затем остальная часть моделей бренда в порядке новейших.

  • Следующие это бренд с вторым новейшей моделью, а остальные автомобили этой марки, новейшей первым

  • И так далее.

Любые идеи, если это можно сделать?

--ANSWER-- - мой ответ был неправильным, разместит назад, когда я проверить некоторые более

ответ

2
mysql>  SELECT cars.* 
    -> 
    ->  FROM cars 
    ->  JOIN (SELECT Name_ID, MAX(Year) AS max_year 
    ->    FROM cars 
    ->    GROUP BY Name_ID) 
    ->   AS dt_max 
    ->  USING (Name_ID) 
    -> 
    -> ORDER BY max_year DESC, Name_ID, Year DESC; 
+---------+--------+---------+------+ 
| Name_ID | Brand | Model | Year | 
+---------+--------+---------+------+ 
|  1 | Ford | Focus | 2012 | 
|  1 | Ford | Mustang | 1992 | 
|  4 | VW  | Polo | 2010 | 
|  4 | VW  | Beetle | 2007 | 
|  4 | VW  | Golf | 2002 | 
|  2 | Toyota | Yaris | 2005 | 
|  3 | BMW | 1s  | 1995 | 
+---------+--------+---------+------+ 
7 rows in set (0.00 sec) 
+0

Есть ли что-то не так с этим ответом я отправил 2 дня назад? Есть причина, по которой никто другой не дал ответа. –

+0

Извините, я больше не комментировал ответ. Ваш ответ был совершенно совершенным, спасибо, что нашли время, чтобы помочь мне! – penpen