sql面试题12

有如下表记录:
ID        Name       EmailAddress                  LastLogon
100        test4       test4@yahoo.cn       2007-11-25 16:31:26
13          test1       test1@yahoo.cn       2007-3-22 16:27:07
19          test1       test1@yahoo.cn       2007-10-25 14:13:46
42          test1       test1@yahoo.cn       2007-11-20 14:20:10
45          test2       test2@yahoo.cn       2007-4-25 14:17:39
49          test2       test2@yahoo.cn       2007-5-25 14:22:36

用一句sql查询出每个用户最近一次登录的记录(每个用户只显示一条最近登录的记录)
方法一:
SELECT a.* from users  a  inner join
                              (
SELECT [Name], LastLogon=MAX(LastLogon)    FROM  users    GROUP BY [Name])  b
                               
on a.[Name]=b.[Name] and a.[LastLogon]=b.[LastLogon]

方法二:
SELECT a.* from users  a   inner join
                               (
SELECT  Name,MAX(LogonID) LogonID     FROM  users    GROUP BY [Name])  b
                             
on a.LogonID=b.LogonID
                             
--where a.LogonId=b.LogonId
posted @ 2008-09-09 02:58  林台山人  阅读(367)  评论(0)    收藏  举报