Не уверен, что ваше условие «где» полезно, в основном говорит, что дайте мне все оценки моделей 2008 года, я уверен, что модель уникальна для всех марок. Что касается упорядочения результатов, то вы можете заказать условно.
drop table if exists t;
create table t
(mark varchar(4) , model varchar(4), year int);
insert into t values
('audi','a3',2008),
('ford','st',2008),
('audi','a4',2008),
('gm','junk',2008),
('gm','junk',2009),
('ford','xx',2008);
SELECT * FROM t
WHERE year = 2008
order by
case when t.mark = "Audi" and t.model = "a4" then 1
when t.mark = "Audi" and t.model <> "a4" then 2
when t.mark <> "Audi" and t.model <> "a4" then 3
else 4
end ,
mark desc;
+------+-------+------+
| mark | model | year |
+------+-------+------+
| audi | a4 | 2008 |
| audi | a3 | 2008 |
| gm | junk | 2008 |
| ford | st | 2008 |
| ford | xx | 2008 |
+------+-------+------+