'test_table'には、vendorという列が含まれています。char値は1〜9で、1が最高の優先度です。'test_table'には、matchという名前の別の列もあります。char値は'I'または'H'であり、'I'がより高い優先順位を受け取ります。IDに一意の値があり、一致、次にベンダーの順に優先順位が付けられたすべての行を返したい。
Test_Table
ID Vendor Match
1 3 I
1 2 I
1 4 H
2 1 H
2 1 I
3 1 H
3 2 I
望ましい結果
ID Vendor Match
1 2 I
2 1 I
3 2 I
SELECT *
FROM
(SELECT ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID) AS RowNo, *
FROM test_table) x
WHERE RowNo = 1
ORDER BY ID
どんな助けでも大歓迎です。ありがとうございました!