0

任何人都可以帮助聚合函数.. MIN。

我有一个汽车表,我想在具有相同汽车但不同年份和价格的 tbale 上返回最低销售价格和最低年份......

基本上,如果我从组中删除注册(包含一年)并选择查询工作,但如果我把它留在里面,那么我会返回 3 辆汽车,它们的型号、制造商等完全相同,但年份不同..

但我使用的是 MIN 所以它应该在 2006 年返回 1 辆汽车(3 辆汽车之间的最小年份)

MIN(SalePrice) 运行良好.. 它的注册不工作..

有任何想法吗?

SELECT MIN(datepart(year,[Registration])) AS YearRegistered, MIN(SalePrice), Model, Make FROM [VehicleSales] GROUP BY datepart(year,[Registration]), Model, Make

4

4 回答 4

1

如果我正确理解了您要查找的内容,您应该查询:

SELECT Model, Make, MIN(datepart(year,[Registration])) AS YearRegistered, MIN(SalePrice)
FROM [VehicleSales]
GROUP BY Model, Make

希望能帮助到你。

于 2009-06-30T10:44:05.753 回答
1

Turro answer 将返回最低注册年份和最低价格(型号,品牌),但这并不意味着最低价格将适用于最低年份的汽车。这是你需要的吗?

或者,您需要其中之一:

  1. 最低年份的汽车之间的最低价格

  2. 最低价格的汽车之间的最低年份

-- 已编辑 ---

您的查询是正确的,但我想找到明年更便宜的汽车品牌/型号;)

这就是我发表评论的原因。想象下一个情况

Porshe 911 2004 2000
Porshe 911 2004 3000
Porshe 911 2005 1000
Porshe 911 2005 5000

您将得到的结果不会真正告诉您这辆车是否按年份便宜。

Porshe 911 2004 1000

我不知道你怎么判断明年汽车是否会变得更便宜,至少没有与上一年的比较。

PS我想以标价购买上述汽车之一:D

于 2009-06-30T11:28:15.977 回答
0

你得到你想要的:只要汽车的型号、品牌或年份不同,它们就会被分到不同的组中,然后返回每个组的(最低,即唯一)年份和最低价格。

为什么要使用 GROUP BY?

于 2009-06-30T10:26:14.713 回答
0

您的查询是正确的,但我想找到明年更便宜的汽车品牌/型号;)

您应该找到每年最便宜(或平均)的品牌/型号,并与上一年(相同品牌/型号)最便宜(或平均)的品牌/型号进行比较。

然后你可以看到明年哪个更便宜(我想他们中的大多数)

于 2009-07-01T14:08:37.173 回答