2017-04-26 104 views
-4
bug_id  ops_status partition_date 
32307107 ARCHIVED 2017-04-14 
32307107 ARCHIVED 2017-04-13 
32307107 ARCHIVED 2017-04-12 
32307107 ARCHIVED 2017-04-11 
32307107 ARCHIVED 2017-04-10 
32307107 ARCHIVED 2017-04-09 
32307107 ARCHIVED 2017-04-08 
32307107 ARCHIVED 2017-04-07 
32307107 ARCHIVED 2017-04-06 
32307107 PREPUBLISH 2017-04-05 
32307107 PREPUBLISH 2017-04-04 
32307107 PREPUBLISH 2017-04-03 
32307107 PREPUBLISH 2017-04-02 
32307107 PREPUBLISH 2017-04-01 
32307107 ARCHIVED 2017-03-31 
32307107 ARCHIVED 2017-03-30 
32307107 ARCHIVED 2017-03-29 
32307107 ARCHIVED 2017-03-28 
32307107 ARCHIVED 2017-03-27 
32307107 ARCHIVED 2017-03-26 

我需要上次ops_status,即ARCHIVED,当它被更新,即“2017-04-06” - 所以"32307107 ARCHIVED 2017-04-06"行从上面的数据。有人可以帮帮我吗。需要以下SQL查询:

+0

问题在哪里? – Jens

+1

mysql或SQL-Server? – Jens

+4

你的问题不清楚。更多详情请阅读。 –

回答

0
select bug_id, ops_status, max(partition_date) 
from table1 
where ops_status = 'ARCHIVED' 
group by bug_id,ops_status 

这是SQL-服务器

+0

不可以。我想要这个日期“2017-04-06” – Nitesh

0

如果我理解正确的,你想第一次约会的状态改为“已归档”的bug_id。为此,您可以使用子查询来获取它未被存档的最新日期。在主查询中,您可以使用MIN查找最早的归档日期。

SELECT bug_id, ops_status, MIN(partition_date) 
FROM yourTable AS a 
WHERE a.partition_date > 
    (SELECT MAX(partition_date) 
    FROM yourTable AS b 
    WHERE b.status = 'PREPUBLISH' 
     AND a.bug_id = b.bug_id) 
+0

我不想核心价值.. – Nitesh

+0

编辑 - 请检查 –