在某些条件下挑选许多相同行中的一行

时间:2017-06-25 23:00:36

标签: sql sql-server

要设置场景,我定义为相同行的是destination和vehicle_brand的组合是相同的。例如,在下图中,

SQL table name: cardriven

由于达拉斯 - 丰田的“组合”,第2行和第3行是“相同的”。现在我想只显示具有更高request_id的行。因此,例如,在行2和3之间,将显示行3并且将隐藏/移除行2,因为169> 100.所以最后,只显示第3,4,5,7和8行,第1,2,6和9行将被隐藏/删除。

希望您了解我的目的,但如果您有任何疑问,请告诉我。这将用SQL代码编写。

另一个问题:我为日期添加了一个新列,并为第2-4行输入了一些随机的列。第2行是12/1/17,第3行是2016年5月11日,第4行是7/6/2017。请注意,第3行具有达拉斯 - 丰田组合中最高的request_id。我决定用request_id = 501输入一个新条目,并输入达拉斯,丰田和12/22/2017。运行程序后,对于Dallas-Toyota我返回第3行,但是request_id = 501!它应该返回我刚刚输入的条目。

1 个答案:

答案 0 :(得分:1)

您可以使用分组依据和最大功能来获得最高值。

SELECT MAX(request_id), destination, vehicle_brand
FROM cardriven
GROUP BY destination, vehicle_brand