SQL内连接相同的表来获取最大值

时间:2013-09-04 10:13:53

标签: mysql sql sql-server

我有一张桌子“tblTrasaction”。我使用以下代码来获取最大日期:

select Max(t.TranDate) from tblTrasaction

然后我想使用max date值来获取最大事务ID,我使用了以下代码:

   select Max(t.TranDate) from tblTrasaction t
   inner join
   (
      select Max(t.TranID) from tblTrasaction t
   ) temp On temp.TranID =t.TranID

但是FAIL要得到结果,我该如何解决?感谢

3 个答案:

答案 0 :(得分:1)

不是这样,

SELECT  MAX(TranID) TranID
FROM    tblTrasaction 
WHERE   TranDate = (SELECT MAX(TranDate) FROM tblTrasaction)

答案 1 :(得分:0)

尝试这种方式:

select Max(t.TranID)
from tblTrasaction t
where t.TranDate in (select Max(t1.TranDate) from tblTrasaction t1)

答案 2 :(得分:0)

如果我错过了某些内容,请告诉我,但这样做不会更容易:

如果原始海报使用的是mysql:

select t.TranDate from tblTrasaction t
order by t.TranDate desc, t.TranID desc
limit 1

如果原始海报使用的是SQL-Server:

select top 1 t.TranDate from tblTrasaction t
order by t.TranDate desc, t.TranID desc