带有最旧和最新时间戳的返回行
问题描述:
我正在处理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。
任何帮助表示赞赏感谢!
答
你应该能够做这样的事情:
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
条款添加到第一个例子。
Teradata是否支持聚合功能? 'MIN()'和'MAX()'是你想要的人。你可能还需要如果要求结果一个以上的用户引入明确的分组。这实际上是关于SQL基础的。所以,如果你问我,不是真正的Stack Overflow问题。 – 2013-03-27 17:05:34