返回最旧和最新时间​​戳的行

时间:2013-03-27 17:02:33

标签: sql teradata

我正在研究TERADATA中的sql脚本以及我想要获取它的内容所以当我搜索特定的USERID时,它将返回USERID并且具有与之关联的OLDEST和LATEST RSLVD_DTTM时间戳。 USERID。

USERID     RSLVD_DTTM
USER1      12/06/2012  
USER1      08/01/2013  
USER1      06/11/2012  
USER1      03/04/2012

正如你所看到的,它发布了一系列日期......我希望它只是最早的日期和最新日期。

这就是我试图让它看起来像,同样,我试图让它加入一行如果可能的话。我是TERADATA的新手,可以使用一些帮助。

    USERID     RSLVD_DTTM(OLDEST) RSLVD_DTTM(LATEST)
USER1      03/04/2012         08/01/2013 

这是我的查询,

select 
 USERID,
 RSLVD_DTTM
from 
symmktg.VREMEDY_SYM_TICKET
where 
USERID IS IN ('USER1')

请记住这是一个非常新的领域,请解释你的awnser。

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

你应该可以这样做:

SELECT USERID, MIN(RSLVD_DTTM) MinDate, MAX(RLSVD_DTTM) MaxDate
FROM symmktg.VREMEDY_SYM_TICKET
GROUP BY USERID

这将为您提供每个用户的数据。如果您一次只需要一个用户的数据,则应该这样做:

SELECT USERID, MIN(RSLVD_DTTM) MinDate, MAX(RLSVD_DTTM) MaxDate
FROM symmktg.VREMEDY_SYM_TICKET
WHERE USERID = 'USER1'

执行IN让我觉得你可能有多个用户;如果是这种情况,那么将WHERE子句添加到第一个示例中。