나는 데이터베이스 테이블에서 데이터를 가지고 있고이 같은 파일이 수출하고있어 100,000 기록 (이이 종류의 ID를 기반으로 중복)제거 중복
id | dp_1 | pp_1 | Phone |
-------|---------|-------|--------|
1 | dp1 | | phone1 |
----------------------------------|
1 | | pp1 | phone1 |
----------------------------------|
2 | dp2 | pp2 | phone2 |
------------------------------------
2 | | | phone4 |
-----------------------------------
3 | dp3 | pp3 | phone3 |
------------------------------------
3 | dp3 | | phone3 |
-----------------------------------
4 | | pp4 | |
------------------------------------
4 | dp4 | | |
주변에있다 나는 t을 달성 할 수있는 방법
WITH cte AS (
SELECT*,
row_number() OVER(PARTITION BY id,DP_1, PP_1, phone ORDER BY id desc)
AS [rn]
FROM table1
)
Select * into #temp from cte WHERE [rn] = 1 ORDER BY id
:
id | dp_1 | pp_1 | Phone |
-------|---------|-------|-----------------|
1 | dp1 | pp1 | phone1 - phone1 |
-------------------------------------------|
2 | dp2 | pp2 | phone2 - phone4 |
-------------------------------------------|
3 | dp3 | pp3 | phone3 |
-------------------------------------------|
4 | dp4 | pp4 | |
--------------------------------------------
나는이 SQL을 작성했습니다 :
나는 아래로 결과를 원 그의 파이썬에서 또는 SQL 쿼리를 사용하여? 나는 아나콘다를 사용하고있다.
왜 id3은 단지'phone3'을 가지고 있지만 id1은'phone1-phone1'을 가지고 있는가? 이 2 가지 논리가 다른 이유는 무엇입니까? – Larnu
여기에서 Refereed : https://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string 여전히 몇 가지 사항을 수정해야합니다. – AskMe