Select 选择后返回最大值
我对SQL查询非常陌生,在获取列的最大值方面遇到了问题。下面的Speedo是我当前的查询Select 选择后返回最大值,select,max,Select,Max,我对SQL查询非常陌生,在获取列的最大值方面遇到了问题。下面的Speedo是我当前的查询 SELECT tblVehicle.Rego ,tbljob.Speedo ,tbljob.DateEntered from tblJob INNER JOIN tblVehicle on tbljob.Vehicle_ID = tblVehicle.ID where JobType_ID = 2 order by Rego 哪个输出 Rego Speedo DateEnter
SELECT
tblVehicle.Rego
,tbljob.Speedo
,tbljob.DateEntered
from tblJob
INNER JOIN tblVehicle
on tbljob.Vehicle_ID = tblVehicle.ID
where JobType_ID = 2
order by Rego
哪个输出
Rego Speedo DateEntered
000JKC 147729 2010-05-10 10:56:55.040
000JKC 150145 2010-06-02 13:57:15.470
000JKC 169553 2011-01-06 12:24:09.143
000JKC 155149 2010-07-21 14:58:20.777
000JKC 157882 2010-09-17 16:39:48.480
000JKC 165660 2010-11-29 08:20:39.453
000JKC 164339 2010-11-18 16:19:19.213
000JKC 155149 2010-08-11 06:16:28.180
000RQD 65 2011-11-21 09:27:31.693
000RQD 6978 2012-03-06 15:18:06.987
000RQD 6766 2012-02-24 13:28:47.603
000RQD 12130 2012-08-28 09:29:18.027
000RQD 12145 2012-08-27 14:57:17.330
000RQD 21550 2013-04-15 19:30:30.160
000RQD 23640 2013-05-22 16:16:33.880
现在我只想要每个Rego的MAXSpeedo。MAX函数返回所选列的最大值
您需要使用分组方式
注意:如果Speedo被卷回,并且最后日期没有Speedo的最大值,这可能无法达到您想要的结果。在这种情况下,您将看到最大speedo和最大日期,但它们来自不同的行。您的错误列“tblVehicle.Rego”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
SELECT
tblVehicle.Rego
, MAX( tbljob.Speedo )
,tbljob.DateEntered
from tblJob
INNER JOIN tblVehicle
on tbljob.Vehicle_ID = tblVehicle.ID
where JobType_ID = 2
order by Rego
SELECT
tblVehicle.Rego
,MAX(tbljob.Speedo) as MaxSpeedo
,MAX(tbljob.DateEntered) as MaxDate
from tblJob
INNER JOIN tblVehicle
on tbljob.Vehicle_ID = tblVehicle.ID
where JobType_ID = 2
order by Rego
GROUP BY Rego