/ / SQL - sql、sql-server、sql-server-2008、sql-server-2012を使用して、データから一意の行を選択します(複数のKey値とYearはありません)。

SQL-sql、sql-server、sql-server-2008、sql-server-2012を使用して、データから一意の行を選択します(複数のKey値とYearはありません)。

着信データは次のようになります。

ID  Key Year
1   2288    2013
1   2288    2014
1   2831    2012
1   3723    2012
1   5005    2012

o / pは

ID  Key     Year
1   2288    2013
1   2288    2014

同じIDと年に複数の「キー値」がある場合、それらの行は削除する必要があります。

回答:

回答№1は0

IDとYearでグループ化します。

SELECT ID, MIN(KEY), YEAR
FROM TABLE
GROUP BY ID, YEAR
HAVING COUNT(KEY)=1

回答№2の場合は0

つかいます Window Function 取得する min それぞれのキー値 year それが複製されるとき。

Select ID, Key, Year from
(
select *,row_number() over(partition by Id,Year order by key) Rn
)a
where rn=1

回答№3の場合は0

お試しください

Select
ID, Key, Year
from
table
group by
ID, Year
having
count(*) = 1