在SQL Server中使用子查询获取MIN价格(使用DISTINCT)?

时间:2009-06-30 09:42:54

标签: sql sql-server tsql aggregate-functions

我正试图从一张桌子上的汽车获得一个Minimun价格我正在使用DISTINCT

SELECT DISTINCT

datepart(年,[注册])AS YearRegistered, MIN(SalePrice),Model,Make

FROM [VehicleSales]

但它不起作用,例如

没有明显的回报许多汽车品牌和型号因此我使用不同所以我得到了相同的品牌和型号和年份的独特汽车....

我希望加入一个“从价格开始......”因此SalePrice对于同一型号也可以有所不同......所以我想做一个MIN ..

但我有点困惑,上面的工作正在......

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您需要添加GROUP BY子句并删除DISTINCT:

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

答案 1 :(得分:1)

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