알 수없는 레코드가있는 테이블이 있습니다. 나는 기록의 반을 지우고 싶다. 삭제할 레코드는 상관하지 않습니다. 가장 효율적인 방법은 무엇입니까?mysql 데이터베이스 테이블에서 레코드 절반을 삭제 하시겠습니까?
답변
delete from some_table where rand() < 0.5;
이 에 대한 절반 기록, 시간의 가장 삭제됩니다.
rand()는 필요 이상으로 작은 데이터 세트의 경우 50 %를 제공하지 않습니다. 두 개의 쿼리를 사용하도록 허용 된 경우 첫 번째 행의 개수를 계산 한 다음 삭제 쿼리에 LIMIT를 사용한다고 말하면되지만 단일 쿼리로 수행 할 수있는 방법이있을 것 같습니다. 하지만 LIMIT에는 하위 쿼리를 사용할 수 없습니다. 그래서 테이블의 구조와 관련이 있어야합니다 ...하지만 그 질문에는 주어지지 않습니다 .... hmmmmm SELECT COUNT (*) FROM table; 그런 다음 테이블 LIMIT 행/2에서 DELETE; –
@Greg Hewgill : 완벽한 대답, +1 – zerkms
@Authman Apatira : 2 개의 쿼리와'COUNT (*) '를 사용해도 ** 정확한 ** 반 행을 삭제할 수 없습니다. 예를 들어 총 7 행이있는 경우. – zerkms
- 1. 2 테이블에서 MySQL 삭제 레코드
- 2. 두 테이블에서 레코드 하나를 찾아서 삭제 하시겠습니까? MySQL PHP
- 3. 조인 된 테이블에서 mysql 삭제 레코드
- 4. 테이블에서 모든 레코드 삭제
- 5. 테이블에서 모든 레코드 삭제
- 6. MySql 데이터베이스 레코드 편집
- 7. 데이터베이스 레코드 삭제
- 8. 두 테이블에서 여러 레코드 삭제
- 9. mysql의 테이블에서 모든 레코드 삭제
- 10. 5 초마다 테이블에서 레코드 삭제
- 11. DB 테이블에서 삭제 된 레코드 표시
- 12. MySQL 다중 레코드 삭제
- 13. PHP - MySQL 레코드 삭제
- 14. PHP/MySQL - 레코드 삭제
- 15. mysql 자체 레코드 삭제
- 16. mysql 구문 오류 : 레코드 삭제
- 17. 두 개의 큰 MySQL 테이블에서 일치하는 레코드 삭제
- 18. mysql 삭제 및 데이터베이스 관계
- 19. MySQL 데이터베이스 거대한 레코드
- 20. 데이터베이스 테이블의 일괄 삭제 레코드
- 21. MySQL 트리거 : 테이블에서 삭제 후 삭제
- 22. NaN을 포함하는 MySQL 삭제 레코드
- 23. MySQL 삭제 단일 테이블에서만 레코드
- 24. sql 테이블에서 셀 데이터/레코드 삭제 중
- 25. 데이터베이스의 모든 테이블에서 모든 레코드 삭제
- 26. Access 2007의 여러 테이블에서 레코드 삭제
- 27. 여러 테이블에서 관련된 모든 레코드 삭제
- 28. 큰 테이블에서 열 삭제
- 29. EditorGrid 패널에서 데이터베이스 레코드 삭제/수정
- 30. 테이블에서 MySQL 컬럼 이름의 모든 공백을 삭제 하시겠습니까?
인터뷰 질문입니까? –
그 또는 숙제처럼 보입니다. – Polynomial