Select 来自数据的唯一行(没有多个键值和年份)使用 SQL
Select Unique rows from the data (not having mutiple Key values and Year) using SQL
传入的数据如下所示:
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 和 Year 有多个 "Key" 值”,则应删除这些行。
使用Window Function
在每个year
被复制时得到min
键值。
Select ID, Key, Year from
(
select *,row_number() over(partition by Id,Year order by key) Rn
)a
where rn=1
按 ID 和年份分组。
SELECT ID, MIN(KEY), YEAR
FROM TABLE
GROUP BY ID, YEAR
HAVING COUNT(KEY)=1
尝试
Select
ID, Key, Year
from
table
group by
ID, Year
having
count(*) = 1
传入的数据如下所示:
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 和 Year 有多个 "Key" 值”,则应删除这些行。
使用Window Function
在每个year
被复制时得到min
键值。
Select ID, Key, Year from
(
select *,row_number() over(partition by Id,Year order by key) Rn
)a
where rn=1
按 ID 和年份分组。
SELECT ID, MIN(KEY), YEAR
FROM TABLE
GROUP BY ID, YEAR
HAVING COUNT(KEY)=1
尝试
Select
ID, Key, Year
from
table
group by
ID, Year
having
count(*) = 1