0

次のような Table1 があります。

Wallet No   Status      Rank 
01774076563 Scanned     1
01765653275 Registered  3
01774076563 Accepted    2
01768836816 Rejected    4
01967866981 Accepted    2
01967866981 Rejected    4

次のようにしたい (Table2):

Wallet No   Status      Rank 
01774076563 Scanned     1
01765653275 Registered  3
01768836816 Rejected    4
01967866981 Accepted    2

次のコードを使用しましたが、Table2 ではなく Table1 が表示されます。

SELECT MIN([Rank]) AS [Rank], STATUS_, walletno into table2
FROM table1
GROUP BY STATUS_, walletno

私が欲しいのは、最上位のウォレット番号とステータスだけで、他には何もありません。しかし、Table2 は Table1 の正確なコピーを提供します。ここで何が間違っていますか?

4

2 に答える 2

0

これを試すことができます:

;WITH CTE as
(
SELECT
    WalletNo,
    Status,
    ROW_NUMBER() OVER(PARTITION BY Status ORDER BY Rank) AS Row,
    Rank
    FROM
    Item
)
SELECT WalletNo, Status, Row, Rank From CTE Where Row = 1

ここでフィドル: http://sqlfiddle.com/#!3/14fa5/6

于 2013-07-23T15:36:47.333 に答える