sql >> データベース >  >> RDS >> Mysql

無視して結合された一意のインデックスを適用した後、mysqlで削除する行を設定します

    不要なものを削除しようとするのではなく、必要なものを選び、残りを無視したいという問題として考えてみてください。そのように:

    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;
    

    これでテーブルother_tableが作成されます これは、データの一意の制約を満たします。 zvalueが最も高い行のみ 保持され、他は削除されます(スキップされます)。




    1. Mysql-カスタムで注文しますか?

    2. ローカルホストでcgi-binを実行中にImportError-未定義のシンボル:lo_truncate64

    3. djangoでmysqlに移行する

    4. 日付がDateTime以上のLaraveleloquent