我有下表:
Car | color | year
---------+----------+------
mercedes | blue | 1991
mercedes | yellow | 1993
mercedes | blue | 1996
mercedes | red | 1998
renaud | blue | 1991
renaud | yellow | 1993
renaud | blue | 1996
renaud | red | 1998
我正在寻找一个允许检索每种车型的最早年份行的查询。 在这种情况下,它应该给我:
Car | color | year
----------+-------+------
mercedes | blue | 1991
renaud | blue | 1991
我尝试过使用ORDER BY + LIMIT,HAVING,GROUP BY ....但它总是添加我不需要的额外行(我必须迭代结果集以创建子结果)。
你对我如何做到这一点有想法吗?
非常感谢您的有用提示!
Kheraud
答案 0 :(得分:2)
嵌套选择 - 类似这样:
select car, max(year) yr
from mytable
group by car
这为每辆车提供了适当的年份。那么你想要添加一种颜色(如果当年该车有多个颜色,则没有指定该做什么......)
select a.car, a.color, a.yr
from (
select car, max(year) yr
from mytable
group by car
) a
, mytable
where mytable.car = a.car
and mytable.year = a.yr
答案 1 :(得分:0)
从table_name中选择car,color,Max(Year) 乘车,颜色