我有以下查询
SELECT McId, MAX(TimeDone)
FROM Trace
WHERE PcbId = 'C825514362'
AND DeviceId <> 0 GROUP BY McId
但我还需要从以下列获取值 Program
,DeviceId
,OrderNo
是否可以以某种方式将其组合到同一个查询中?
此查询应在 mssql 、 mysql 和 oracle 下运行。
最佳答案
嗯,我猜您想要获取包含 TimeDone 最大值的行的 Program、DeviceId 和 OrderNo 值。据我所知,你必须使用子查询来做到这一点。 类似这样的事情:
SELECT t.McID, t.Program, t.DeviceID, t.OrderNo, t.TimeDone
FROM Trace t,
(SELECT MAX(TimeDone) as maxtime, McID
FROM Trace
GROUP BY McID) maxresults
WHERE t.McID = maxresults.McID
AND t.TimeDone= maxresults.maxtime;
关于mysql - 分组依据和列选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10717541/