SQL:返回最早的记录
所以 我有一个表(SQL:返回最早的记录,sql,Sql,所以 我有一个表(WOSTATUS)。带有列(WONUM,STATUS,CHANGEDATE) 现在一个WONUM有多种状态。我感兴趣的是状态ACTION。但是,WONUM可以在其生命周期内多次设置为ACTION,并且在该表中,每次设置为ACTION时,它都会成为一个新行 我想要的是一份当WONUM第一次付诸行动时的清单。日期记录在CHANGEDATE中 请提供帮助。您可以使用以下分组方式: SELECT WONUM, MIN(CHANGEDATE) FROM WOSTATUS WHERE
WOSTATUS
)。带有列(WONUM
,STATUS
,CHANGEDATE
)
现在一个WONUM
有多种状态。我感兴趣的是状态ACTION
。但是,WONUM
可以在其生命周期内多次设置为ACTION,并且在该表中,每次设置为ACTION时,它都会成为一个新行
我想要的是一份当WONUM第一次付诸行动时的清单。日期记录在CHANGEDATE
中
请提供帮助。您可以使用以下
分组方式:
SELECT WONUM, MIN(CHANGEDATE)
FROM WOSTATUS
WHERE STATUS = 'ACTION'
GROUP BY WONUM, STATUS
我是否正确理解,每次状态更改时,都会向表中添加新行。当第一个状态是“动作”
时,您想要条目的WONUM
在这种情况下,请尝试以下操作:
SELECT WONUM
FROM WOSTATUS
WHERE (SELECT TOP 1 STATUS
FROM WOSTATUS T
WHERE T.WONUM = WONUM
ORDER BY CHANGEDATE) = 'ACTION'
到目前为止你试过什么?听起来你应该运行groupby和order byAction@indofraiser我使用了OrderByChangeDate,但是它只返回所有行,然后按降序排列。我只想返回最早日期的行。您能提供一些表中数据的示例和预期结果吗?