2013-07-31 79 views
0

EX:检索最新的日期

ID  Date(with time)   Price 
    ----  -------    ------ 
    A   23-Aug-12 (09:25pm)  10(cosider this was the latest on this date) 
    A   25-May-10    20 
    A   23-Aug-12 (8:20pm)  30 
    A   23-Aug-12 (7:00pm)  35 
    B   03-Apr-09    45 
    B   05-Dec-10    60 

我想找回ID,日期,价格即如果两个相同的日期,如果德多个价格的话,我必须选择是最新的日期根据包含时间戳的日期更新。

预期输出:

   A,23-Aug,12,10 
       A,25-May-10,20 
       B,03-Apr-09,45 
       B,05-Dec-10,60 

回答

0

大多数SQL版本都支持row_number功能。从日期时间提取日期因数据库而异。这里有一种方法可以做你想做的事:

select id, datetime, price 
from (select t.*, 
      row_number() over (partition by id, cast(datetime as date) order by datetime desc 
           ) as seqnum 
     from t 
    ) t 
where seqnum = 1; 

这给出了一般结构。确切的语法因数据库而异。

0

试试这个: -

SELECT 
    ID, 

    MAX(date) 
FROM 
    Some_Unnamed_Table 
GROUP BY 
    ID 
ORDER BY 
    ID