为每种类型选择单个记录

时间:2012-05-24 14:08:41

标签: sql-server-2008

我只需要一个sql server查询以下场景:

enter image description here

需要查询才能获得每种车型的单一记录。

我有一张车辆表。

乘用车,皮卡车,MPV是车型。

有4辆乘用车记录,2辆皮卡车记录和多用途车辆(MPV)记录。

所以我想要一个查询来获取每种类型的单个记录。

由于

我的愿望输出:

ID Model               VehicleType           Owner
1  LTD Crown Victoria  Passanger             XXXXXXXXXX
2  Tacoma              Pickup                YYYYYY
3  Explorer            Multipurpose Vehicle

我想要的这种输出。

1 个答案:

答案 0 :(得分:1)

尝试

SELECT DISTINCT [Vehicle Type] FROM your_table

我看到你的编辑。此查询可以准确地提供您的要求:

WITH t1 AS
(
  SELECT
    ID, Model, [Vehicle Type], Owner,
    RANK() OVER(PARTITION BY [Vehicle Type] order by ID) AS t2
  FROM your_table
)  
SELECT ID, Model, [Vehicle Type], Owner
FROM t1
WHERE t2 = 1

检查here