>  Q&A  >  본문

테이블의 A열에 중복된 값이 있는 행을 제거합니다.

lead_id가 테이블에 여러 번 나타나는지 확인하고, 그렇다면 쿼리에서 제외하는 방법이 있나요? 그 이유는 status_id = 1이고 해당 Lead_id에 대한 다른 status_id/행이 없는 경우에만 새 행을 추가하고 싶기 때문입니다.

데이터베이스는 모든 상태 업데이트가 새 행을 생성하는 방식으로 설계되었습니다. 따라서 이전 행에는 이전 타임스탬프가 있고 데이터베이스 테이블에 남아 있으며 이는 프런트엔드의 상태 기록 구성 요소에 표시됩니다. 하지만 이런 방식으로 설계되었기 때문에 단순히 각 사용자에게 상태 1과 새로운 상태 업데이트를 제공한다고 말할 수는 없습니다. 그러면 모든 리드가 status_id 1로 데이터베이스에 입력되므로 각 Lead_id에 대한 행이 추가됩니다.

지금까지 사용한 쿼리:

으아악

데이터의 모습:

lead_id status_id 더 많은 데이터
1 1 데이터
1 12 데이터
2 1 데이터
2 14 데이터
3 1 데이터
4 1 데이터
5 1 데이터
6 1 데이터

새 리드(양식 제출)마다 행이 생성되고 해당 리드에 status_id 1(상태: 신규)이 부여됩니다. 200개 이상의 리드를 1에서 다른 status_id로 일괄 업데이트해야 하지만 지금 가지고 있는 쿼리를 사용하면 status_id가 1인 모든 행이 업데이트됩니다. 내가 원하는 것은 먼저 Lead_id가 테이블에 한 번만 존재하는지 확인한 다음 true인 경우 업데이트된 status_id를 사용하여 새 행을 추가하는 것입니다.

따라서 SQL 쿼리 후에는 다음과 같아야 합니다.

lead_id status_id 더 많은 데이터
1 1 데이터
1 12 데이터
2 1 데이터
2 14 데이터
3 1 데이터
3 12 데이터
4 1 데이터
4 12 데이터
5 1 데이터
5 12 데이터
6 1 데이터
6 12 데이터

TLDR: Lead_id가 테이블에서 한 번만 발견되면 status_id가 있는 새 행을 추가하세요.

P粉366946380P粉366946380183일 전284

모든 응답(1)나는 대답할 것이다

  • P粉441076405

    P粉4410764052024-04-01 09:38:34

    테이블의 각 행에 고유한 ID가 있는 경우 다음과 같은 쿼리를 사용할 수 있습니다

    으아아아

    그리고 아이디도 없습니다

    으아아아

    회신하다
    0
  • 취소회신하다