2013-03-27 28 views
0

我正在处理TERADATA中的一个sql脚本,以及我正在试图获取它,所以当我搜索特定的USERID时,它将返回USERID,并获得最旧和最新的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。

任何帮助表示赞赏感谢!

+2

Teradata是否支持聚合功能? 'MIN()'和'MAX()'是你想要的人。你可能还需要如果要求结果一个以上的用户引入明确的分组。这实际上是关于SQL基础的。所以,如果你问我,不是真正的Stack Overflow问题。 – 2013-03-27 17:05:34

回答

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条款添加到第一个例子。

相关问题