SQL:返回最早的记录

时间:2019-02-21 10:12:01

标签: sql

所以.....

我有一张桌子(WOSTATUS)。用列(WONUMSTATUSCHANGEDATE)。

现在WONUM有多种状态。我感兴趣的是状态ACTION。但是,WONUM可以在其生命周期内多次设置为ACTION,并且在此表中,每次将其设置为ACTION都会变成新行。

我想要的是{strong>首先放到ACTION的WONUM的列表。日期记录在CHANGEDATE中。

请帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用以下GROUP BY

SELECT WONUM, MIN(CHANGEDATE) 
FROM WOSTATUS 
WHERE STATUS = 'ACTION' 
GROUP BY WONUM, STATUS

答案 1 :(得分:0)

我是否正确理解每次状态更改时都会向表中添加新行。并且您想要第一个状态为WONUM时的'ACTION'个条目吗?

在这种情况下,请尝试以下操作:

SELECT WONUM
FROM WOSTATUS
WHERE (SELECT TOP 1 STATUS
       FROM WOSTATUS T
       WHERE T.WONUM = WONUM
       ORDER BY CHANGEDATE) = 'ACTION'