我有下面列出的数据库。如您所见,每种型号都有多年的使用寿命。例如,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
谢谢!
答案 0 :(得分:2)
类似的东西:
Select Make, Model, Concat(Min(Year),'-',Max(Year)) As Range, EngineType
From Table
Group By Make, Model
答案 1 :(得分:2)
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
答案 2 :(得分:1)
如果我理解你的问题,那么将一个范围放在一个字段中并不是一个好主意 - 它变得非常难以处理,而且它是非标准化的。 Isntead,创建两个字段“start_year”和“end_year”,这样可以轻松选择并使事情正常化。
- 皮特