甲骨文:回到最早的日期

时间:2012-09-04 12:42:49

标签: oracle

我有一个存储过程,用于返回日期列中最早的可用日期。我只需要最早返回,目前正在使用日期算法来减少返回的行数。但是,这样做,我的程序陷入前两个返回顶部值的循环中,这意味着我有几行永远不会被读取。有人可以让我知道我需要在下面的 WHERE 子句中使用MIN函数吗?感谢:

SELECT        **COLS**                
INTO          **VARS**
FROM          **TABLE**

INNER JOIN    **TABLE TO JOIN**
ON            **JOIN TARGET**

WHERE         ROWNUM = 1 AND LASTREADTIME < SYSDATE - (30/86400) 

ORDER BY      LASTREADTIME DESC;

1 个答案:

答案 0 :(得分:2)

如果您只需要最早的日期

SELECT MIN(LastReadTime)
INTO  **VARS**
FROM table

如果您需要其他数据

SELECT t2.col1, t1.col1, t1.col2, t1.LastTreadTime
INTO **VARS**
FROM table t1
JOIN table2 t2 on t1.col1 = t2.col1
WHERE t1.LastReadTime = (SELECT MIN(t2.LastReadTime) FROM table t2);