oracle 一個表多條重複記錄只取一條的解決方法
阿新 • • 發佈:2019-01-07
A 表:
id name
1 張三
2 李四
B 表: id 為 A 表 主鍵
id name
1 王五
1 小李
1 王八
2 趙四
2 李五
需要的結果為:
1 張三 , 王五
2 李四 趙四
SQL 語句為:
select * from a t5 left join
(select id ,name from
(select row_number() over(partition by id order by name ) t1 , t2.id,t2.name from b t2)
where t1 = 1 ) t3 on t3.id = t5.id
單表查詢,多條重複記錄只取一條
select * from
(
select row_numbre() over(partition by 重複欄位 order by 時間欄位 倒序還是順序) t1, t2.欄位1, t2.欄位2 from 表 t2
where 1=1
查詢條件
)where t1 = 1