选择最大日期,然后选择最大时间 [英] Select max date, then max time

查看:106
本文介绍了选择最大日期,然后选择最大时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在表中显示了货币汇率:

I've table with currency rates:

T_RATE_ID  T_INPUTDATE  T_INPUTTIME  T_SINCEDATE
1          27.12.2012   22:41:01     28.12.2012
1          27.12.2012   23:45:21     28.12.2012
1          28.12.2012   21:23:11     29.12.2012
1          28.12.2012   21:40:01     29.12.2012
1          29.12.2012   22:33:49     30.12.2012
1          29.12.2012   23:47:19     30.12.2012

如何选择最大日期,然后选择该日期的最大时间?

How to select max date and then max time for this date?

简单的SELECT MAX(t_sincedate), MAX(t_inputdate), MAX(t_inputtime)返回所有记录中的最大时间(23:47:19)

Simple SELECT MAX(t_sincedate), MAX(t_inputdate), MAX(t_inputtime) returns max time in all records (23:47:19)

我想得到以下结果:

1  27.12.2012  23:45:21  28.12.2012
1  28.12.2012  21:40:01  29.12.2012
1  29.12.2012  23:47:19  30.12.2012

UPD : 我有一个搜寻率的日期.如果该日期没有价格,我将取最近的日期.

UPD: I have a date for wich i search rate. If there is no rate for this date, i take the nearest date.

所以在where子句中,我有where t_sincedate <= sysdate

So in where clause i've where t_sincedate <= sysdate

推荐答案

尝试一下:

SELECT T_RATE_ID, T_INPUTDATE, T_INPUTTIME, T_SINCEDATE
FROM
   (SELECT 
       *, ROW_NUMBER() OVER (PARTITION BY T_SINCEDATE ORDER BY T_INPUTDATE DESC, T_INPUTTIME DESC) rn
     FROM YourTable
     WHERE T_SINCEDATE<= sysdate) T
WHERE rn = 1

这篇关于选择最大日期,然后选择最大时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆