나는 한 테이블에 약 120,000,000 레코드가있는 매우 큰 데이터베이스를 가지고 있습니다.이 테이블의 데이터를 정리하기 전에 여러 테이블 아마도 그것을 정규화 할 것이다). 이 테이블의 열은 "id (Primary Key), userId, Url, Tag"입니다. 이것은 기본적으로 맛있는 웹 사이트의 데이터 집합의 하위 집합입니다. 내가 말했듯이, 각 행에는 id, userID url 및 "one"태그 만 있습니다. 예를 들어, 맛있는 웹 사이트의 북마크는 단일 URL에 대한 여러 태그로 구성됩니다. 이는 내 데이터베이스의 여러 줄에 해당합니다. 예 : "id"; "사용자", "URL", "태그" "38"; "12c2763095ec44e498f870ed67ee948d"; "http://forkjavascript.org/"; "AJAX" "39"; "12c2763095ec44e498f870ed67ee948d"; "http://forkjavascript.org/"; "API" "40"; "12c2763095ec44e498f870ed67ee948d ";"http://forkjavascript.org/ ","스크립트 " "41 ";"12c2763095ec44e498f870ed67ee948d ";"http://forkjavascript.org/ ";"라이브러리 " "42 ";"12c2763095ec44e498f870ed67ee948d ";"http://forkjavascript.org/ ","I보고 싶다면 레일 "mysql 데이터베이스의 열 개수를 기반으로 특정 행을 삭제합니다.
각 "별개의"URL에 대한 태그의 수는 아래 쿼리를 실행합니다.
URL
BY urltag 그룹에서 "TagCount" 로 DISTINCT URL, 태그, COUNT (태그)를 선택 이제 해당 URL과 관련된 5 개 미만의 태그가 기록을 삭제합니다. 누구나 실행해야하는 실제 쿼리를 알고 있습니까? 감사합니다.
이 쿼리를 실행할 때 오류가 발생합니다. "FROM 절 – Hossein
아에서 업데이트 할 대상 테이블 'urltag'을 지정할 수 없습니다.이 경우 mysql에서 수행 할 수 없을 수도 있습니다. 나는 ms-sql이이 경우를 다룰 수 있다고 생각한다. 당신의 유일한 옵션은 2 개의 쿼리에서 그것을 수행하고 카운트 (태그)가 5 인 뚜렷한 URL을 얻은 다음 해당 URL에서 쿼리를 삭제하는 것입니다. – oedo
감사합니다. – Hossein