그래서 MySQL 쿼리 (other question 참고)에 몇 가지 문제가있어 다른 방법을 시도하기로 결정했습니다.MySql에서 duplicate with php (삭제하지 않음)
필자는 나중에 참조 할 때 필요할 수있는 중복 행이있는 데이터베이스 테이블을 가지고 있으므로 제거하고 싶지 않습니다. 내가 찾고있는 것은 복제본없이 데이터를 표시하는 방법이지만이를 제거하지는 않습니다. 나는 (다른 질문에서 설명한 것처럼) 간단한 select 쿼리를 사용할 수 없다.
그래서 내가해야 할 일은 다음을 수행하는 코드를 작성하는 것입니다. 1. 내 db 테이블을 탐색하십시오. 2. "ip"열에 중복 항목을 찾습니다. 3. 각 복제본의 첫 번째 인스턴스에 "0"("중복"이라는 열에 있음)을 표시하고 나머지는 "1"로 표시하십시오.
이렇게하면 중복 된 행만 나중에 선택할 수 있습니다.
참고 : 솔루션이 SELECT 쿼리와 관련이있는 경우 먼저 other question을 읽어보십시오. 이유는 내가 GROUP BY/DISTINCT를 사용하는 것이 아닙니다.
미리 감사드립니다.
이 문제를합니까 기록이 처음이다 :
당신은 하위 쿼리를 사용하여 해당에서 고유의 IP 행의 목록을 얻을 수 있습니다 ? 그렇다면 복제본 중 첫 번째 복제본은 어떻게 결정합니까? –
사실 상관 없습니다. 제가 하나를 지키고 나머지는 표시하십시오. –
이 정답이 아니십니까? http://stackoverflow.com/questions/2483492/mysql-query-select-distinct-column1-group-by-column2/2484691#2484691 – user187291