0

我有一个 sql 表,其中包含该 id 在系统中注册的一系列 id 和日期。一个id可以注册多次。表格如下:

ID           Date
3          16/6/2009 
4          2/4/2010
7          4/9/2012
3          12/6/2009
7          2/8/20011
3          16/12/2009
etc..  

从这样的表中,我想提取 id 及其寿命(我想减去 firstseen 日期和 lastseen 日期)。Ids 可以具有相同的日期,并且 id 可以在不同的日期注册。

有谁知道我应该使用什么查询来获得如下所示的所需结果?

ID               Date(week)
3               2/4/2009-16/6/2009
4                  2/4/2010
7               2/8/20011-4/9/2012
4

1 回答 1

1
 SELECT x.id
      , x.start 
   FROM 
      ( SELECT id
             , MIN(DATE) start 
          FROM my_table
         GROUP 
            BY id
      ) x 
   LEFT 
   JOIN 
      ( SELECT id
             , MAX(DATE) end 
          FROM my_table
         GROUP
            BY id
      ) y 
     ON y.id = x.id 
    AND y.end > x.start; 
于 2013-05-02T16:44:37.160 回答