2

我在获得我想要的结果集时遇到了一些困难(多年来没有写过查询)。我的表 itemdata 如下所示:

year make model
1972 foo  bar
1973 foo  bar
1975 foo  bar
1971 bar  foo
1972 bar  foo
1973 bar  foo
1974 bar  foo
1975 bar  foo
1976 bar  foo

我的目标是返回一个结果集,该结果集由具有开始年份和结束年份的不同品牌模型对组成,如下所示:

startyear endyear make model
1972      1975    foo  bar
1971      1976    bar  foo

出于某种原因(最有可能缺乏 SQL 知识)我没有得到我想要的结果集。我尝试了许多查询,我认为我会成功:

SELECT MIN(year) as startyear , MAX(year) as endyear, make, model 
FROM itemdata 
WHERE model = (SELECT DISTINCT model FROM itemdata)

...但是我的子查询返回多行错误的查询。

我将不胜感激任何帮助或建议!

4

1 回答 1

2

改为在品牌和型号上使用 GROUP BY,这应该可以满足您的需求。

SELECT MIN(year) AS startyear, MAX(year) as endyear, make, model
FROM itemdata GROUP BY make, model;
于 2012-06-20T23:09:07.683 回答