Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Đặt các hàng cần xóa trên mysql sau khi áp dụng chỉ mục duy nhất kết hợp w / ignore

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).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL COUNT () trên nhiều cột

  2. Ngày PHP ('W') so với MySQL YEARWEEK (bây giờ ())

  3. Làm cách nào để biết có bao nhiêu truy vấn được kích hoạt trong cơ sở dữ liệu của tôi?

  4. Với Laravel Migration, Làm cách nào để thay đổi kiểu dữ liệu của một cột và cập nhật dữ liệu hiện có của nó để phù hợp với kiểu dữ liệu mới mà không cần sử dụng các truy vấn SQL thô?

  5. cách tìm nạp dữ liệu từ cơ sở dữ liệu mysql bằng php