0

前任 :

  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、日期、价格,即如果对于两个相同的日期,如果 der 是多个价格,那么我必须根据包含的时间戳选择最新更新日期的日期。

预期输出:

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

2 回答 2

0

Try something this:-

SELECT
    ID,

    MAX(date)
FROM
    Some_Unnamed_Table
GROUP BY
    ID
ORDER BY
    ID
于 2013-07-31T16:23:20.063 回答
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;

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

于 2013-07-31T16:22:24.247 回答