0

システムに登録されている一連の ID と日付を含む SQL テーブルがあります。1つの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 を寿命と共に抽出したいと思います (最初に見た日付と最後に見た日付を減算したい)。ID は同じ日付を持つことができ、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 に答える