0

私は次の表を持っています

UNIQUEKEY    ID      Clicks IsProcessed   INSERTDATE
 1         100001   10        1         2011-05-14 00:00:00.000
 2         100001   20        0         2011-05-13 00:00:00.000
 3         100001   30        1         2011-05-18 00:00:00.000
 4         100002   10        1         2011-05-20 00:00:00.000
 5         100002   15        0         2011-05-24 00:00:00.000
 6         100002   10        0         2011-05-05 00:00:00.000

最初にINSERTDATE(desc)で並べ替えるT-SQLクエリが必要です。注文すると、IDとIsProcessedでGROUP byが返され、上記のようにすべての列がOrderbyとgroupedで表示されます。

編集:つまり、クエリを実行すると、ID 100012つの結果セットが得られるはずです:望ましい結果:

UNIQUEKEY    ID      Clicks IsProcessed   INSERTDATE
 3         100001   30        1         2011-05-18 00:00:00.000
 1         100001   10        1         2011-05-14 00:00:00.000        
 2         100001   20        0         2011-05-13 00:00:00.000

Resonがキーとして機能IDIsProcessed、結果は。でソートされDate (desc)ます。

どんな助けでもいただければ幸いです!

4

1 に答える 1

3

これを試して:

declare @ID int = 100001
declare @IsProcessed int

declare
  crsMy cursor fast_forward for
select
  distinct IsProcessed
from
  tTest
order by
  IsProcessed desc

open crsMy

fetch next from crsMy into @IsProcessed

while @@fetch_status = 0
begin
  select
    UNIQUEKEY
    ,ID
    ,Clicks
    ,IsProcessed
    ,INSERTDATE
  from
    tTest
  where
    (ID=@ID)
    and
    (IsProcessed=@IsProcessed)
  order by
    INSERTDATE desc



  fetch next from crsMy into @IsProcessed
end

close crsMy
deallocate crsMy

またはSQLフィドル

(sqlfiddleには、最初に表示される結果セットのみが表示されます。)

于 2012-10-04T06:47:15.460 に答える