簡體   English   中英

來自兩個表的SQL MAX查詢查找

[英]SQL MAX Query Lookup from two tables

我在嘗試從SQL Server返回MAX值時很有趣:

SELECT 
    MAX(GPSdata_1.Longitude) AS Expr1, 
    MAX(GPSdata_1.Latitude) AS Expr2, 
    CAST(MAX(GPSdata_1.Speed) AS DECIMAL(9 , 0)) AS Expr3, 
    MAX(GPSdata_1.Date) AS Time, Units.FleetName 
FROM 
    GPSdata AS GPSdata_1 
INNER JOIN 
    Units ON GPSdata_1.UnitID = Units.IMEInumber 
GROUP BY 
    Units.FleetName

由於某些原因,Long和Lat無法返回正確的值

我努力了

select *
from mytable t1
inner join
  (
 select max(ID) 
from mytable
group by UnitID
) t2
 on t1.ID = t2.ID

基本上我有1個表,其中有ID,我想返回ID的最后/最大記錄。

我最終使用以下命令使其工作

  SELECT TT.Longitude,TT.Latitude,TT.Date,CAST(TT.Speed AS DECIMAL(9, 0)) 
  AS Expr1,Units.FriendlyName
  FROM GPSdata AS TT 
  INNER JOIN (SELECT UnitID, MAX(Date) AS date1
              FROM GPSdata
              GROUP BY UnitID) AS T2 ON TT.UnitID = T2.UnitID 
                                     AND TT.Date = T2.date1 
  INNER JOIN Units ON TT.UnitID = Units.IMEInumber
  GROUP BY TT.Date,TT.Longitude,TT.Latitude,Units.FriendlyName,
  CAST(TT.Speed AS DECIMAL(9, 0))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM