如何从重复行中获取一行?

时间:2015-01-19 08:28:18

标签: sql sql-server

我有2个表SVC_ServiceTicket和SVC_CustomersVehicle

表ServiceTicket有一个列customerID,它是CustomersVehicle的外键。在ServiceTicket列中,customerID可以有重复的值。

当我这样做时

select sst.ServiceTicketID,sst.CustomerID 
from ServiceTicket sst,CustomersVehicle scv 
where sst.CustomerID=scv.CV_ID

然后它给了我重复的customerID。所以我的要求是如果有重复的customerID值,那么我想要最新的customerID以及相应的(最新的customerID)服务的

例如在下面的屏幕截图中有customerID 13正在重复,所以在这种情况下我想要最新的customerID以及serviceticket所以我想要的值是8008和13

请告诉我该怎么做

enter image description here

1 个答案:

答案 0 :(得分:0)

使用聚合函数MAX。我也建议使用JOIN

SELECT MAX(sst.ServiceTicketID) AS ServiceTicketID,sst.CustomerID 
FROM ServiceTicket sst JOIN
     CustomersVehicle scv ON sst.CustomerVehicleID=scv.CV_ID
GROUP BY sst.CustomerID