sql >> Database teknologi >  >> RDS >> Mysql

Slet et SQL-forespørgselsresultatsæt

Det er rigtigt, at du ikke kan bruge den samme tabel, som du vil slette rækker fra i et direkte undervalg, men med et lille trick - et undervalg på en undervalg som afledt tabel - kan du gøre det:

DELETE FROM votes
WHERE id IN (
    SELECT 
        t.id
    FROM ( 
        SELECT v.id, COUNT(c.comment) cnt
        FROM votes v
        LEFT JOIN comments c ON f.id = v.post_id
        GROUP BY v.id
        HAVING COUNT(c.comment) = 0 
    ) t
);

Jeg går ud fra, at rækkerne uden kommentarer skal slettes.



  1. Indsæt flere rækker i mysql (punkter adskilt med komma)

  2. Finder du gratis tidsblokke i mysql og php?

  3. Hvordan får man min/max af to heltal i Postgres/SQL?

  4. Hvorfor er MySQL langsom, når jeg bruger LIMIT i min forespørgsel?