Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ustaw, które wiersze mają zostać usunięte w mysql po zastosowaniu połączonego unikalnego indeksu z ignorowaniem

Zamiast próbować usuwać to, czego nie potrzebujesz, spróbuj myśleć o tym jako o problemie, w którym chcesz wybrać te, które chcesz i zignorować resztę; tak:

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;

To powinno stworzyć tabelę other_table spełnia unikatowe ograniczenie w Twoich danych; tylko wiersze z najwyższą zvalue są zachowane, pozostałe usunięte (pominięte).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy wprowadzenie kluczy obcych do MySQL zmniejsza wydajność?

  2. Sparametryzowane zapytanie dla MySQL z C#

  3. drzewo genealogiczne mysql

  4. Node.js zwraca wynik z zapytania MySQL

  5. Railsy pokazują ostatnią wartość po zgrupowaniu