2017-05-31 37 views
1

mytable的如何執行查詢以獲取最新數據?

DATE  NAME POCKET1 POCKET2 LOCATION 
1/1/2010 john 5   30  home 
2/1/2010 John 4   10  school 
3/1/2010 john 2   20  mall 

我需要幫助查詢myTable,得到如預期的結果。 我知道如何獲得平均值,但不知道如何獲得最新的LOCATION

select NAME,max(POCKET1),avg(POCKET2) from myTable 
where NAME = 'john' group by NAME; 

預期結果

NAME max(POCKET1) avg(POCKET2) LatestLOCATION 
john 5    20    mall 
+0

所做的最新位置謝謝Niss e Engstrom。這是我的第一篇文章,不知道如何使它可讀性如此。 – tuti

回答

1

按日期倒序

select 
    NAME 
    ,max(POCKET1) 
    ,avg(POCKET2) 
    , (select location from mytable order by date desc limit 1) as Location 
from myTable 
where NAME = 'john' group by NAME; 

獲得最佳1級,如果你想獲得約翰

select 
     NAME 
     ,max(POCKET1) 
     ,avg(POCKET2) 
     , (select location from mytable y where y.name = x.name order by date desc limit 1) as Location 
    from myTable x 
    where NAME = 'john' group by NAME; 
+0

ahaa ..謝謝你maSTAShuFu。有用! – tuti