我在获得我想要的结果集时遇到了一些困难(多年没有写过查询)。 我的表项数据如下所示:
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
我的目标是返回一个由不同的 make 模型对组成的结果集,其开始年份和结束年份如下所示:
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)
。但是,我的子查询返回多行,导致查询出错。
我将不胜感激任何帮助或建议!
改用 GROUP BY on make and model,这应该能满足你的需求。
SELECT MIN(year) AS startyear, MAX(year) as endyear, make, model
FROM itemdata GROUP BY make, model;