MySQL. Выберите диапазон лет

У меня есть база данных, указанная ниже. Как вы можете видеть, для каждой модели существует целый ряд лет. Например, Infiniti EX35 в диапазоне 2008-2010

 Infiniti EX35 2010 3.5 V6 Infiniti EX35 2009 3.5 V6 Infiniti EX35 2008 3.5 V6 Infiniti EX37 2007 3.7i V6 Infiniti EX37 2008 3.7i V6 Infiniti EX37 2009 3.7i V6 Infiniti EX37 2010 3.7i V6 Infiniti FX35 2003 3.5 V6 Infiniti FX35 2004 3.5 V6 Infiniti FX35 2005 3.5 V6 Infiniti FX35 2006 3.5 V6 Infiniti FX35 2007 3.5 V6 Infiniti FX35 2008 3.5 V6 

Как я могу сделать такой компактный выбор?

 Infiniti EX35 2008-2010 3.5 V6 Infiniti EX37 2007-2010 3.7i V6 Infiniti FX35 2003-2008 3.5 V6 

Спасибо!

 SELECT Make, Model, CASE WHEN MIN(Year) = MAX(Year) THEN MIN(Year) ELSE CONCAT(MIN(Year), '-', MAX(Year)) END As Year, OtherColumns FROM tableName GROUP BY Make, Model, OtherColumns 

Что-то вроде:

 Select Make, Model, Concat(Min(Year),'-',Max(Year)) As Range, EngineType From Table Group By Make, Model 

Если я понимаю ваш вопрос, imo было бы неплохо поставить диапазон в одном поле – с ним становится очень сложно справиться, и, кроме того, он ненормализован. Isntead, создайте два поля «start_year» и «end_year», что упрощает выбор, а также нормализует ситуацию.

– pete