0

次のようなテーブルがあります-

  Id     Reference     DateAttribute1    DateAttribute2
  1      MMM005         2011-09-11       2012-09-10 
  2      MMM005         2012-06-13       2012-09-10 
  3      MMM006         2012-08-22       2012-09-10 
  4      MMM006         2012-08-22       2012-09-11 

私はid値へのハンドルを持っています。次の結果が得られるようにクエリを実行したいと思います

  Id     Reference     DateAttribute1    DateAttribute2
  2      MMM005         2012-06-13       2012-09-10 
  4      MMM006         2012-08-22       2012-09-11 

結果を参照によってグループ化し、次に「DateAttribute1」、「DateAttribute2」などをグループ化したいのですが、上記の結果でわかるようにDateAttribute1優先度があります。 上記の方法で結果を取得するには、クエリをどのように記述すればよいですか?DateAttribute2

解決策はありますか?

4

4 に答える 4

1
select max(id),Reference, min(DateAttribute1),max(DateAttribute2)
group by Reference  
于 2012-09-12T09:27:40.947 に答える
1
Try it.....

select * from (select * from your_table order by Id desc) as x group by Reference

于 2012-09-12T09:55:31.453 に答える
0

これを試して:

select * 
from   your_table t
join (
      select Reference,
             min(DateAttribute1) as DateAttribute1,
             max(DateAttribute2) as DateAttribute2
      from   your_table
      group by  Reference
      )a
on   t.Reference=a.Reference
and  t.DateAttribute1=a.DateAttribute1
and  t.DateAttribute2=a.DateAttribute2        
于 2012-09-12T09:38:16.770 に答える
0

テーブル名が「tbl2」であると仮定します

    select * from (select * from tbl2 order by REFERENCE,DateAttribute1 desc,
DateAttribute2 desc )  as abc group by reference
于 2012-09-12T10:45:40.840 に答える