Thay vì cố gắng xóa những gì bạn không cần, hãy thử nghĩ về nó như một vấn đề, theo đó bạn muốn chọn những thứ bạn muốn và bỏ qua những thứ còn lại; như vậy:
CREATE TABLE `other_table` LIKE `part3`;
INSERT INTO `other_table`
SELECT `part3`.*
FROM (SELECT gtu, region, trait, pop, author, risk, MAX(zvalue) AS max_zval
FROM `part3`
GROUP BY gtu, region, trait, pop, author, risk
) `tmp`
INNER JOIN `part3` USING (gtu, region, trait, pop, author, risk)
WHERE `part3`.zvalue = `tmp`.max_zval;
Điều đó sẽ tạo một bảng other_table
thỏa mãn ràng buộc duy nhất trong dữ liệu của bạn; chỉ những hàng có zvalue
cao nhất được giữ lại, những cái khác bị xóa (bỏ qua).