sql >> Database >  >> RDS >> Mysql

Een resultatenset voor SQL-query's verwijderen

Het is waar dat je niet dezelfde tabel kunt gebruiken waaruit je rijen wilt verwijderen in een directe subselect, maar met een klein trucje - een subselect op een subselect als afgeleide tabel - kun je het doen:

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

Ik neem aan dat de rijen zonder commentaar verwijderd moeten worden.



  1. Hoe stopwoorden in MYSQL te resetten?

  2. GroupBy na orderBy voor ingewikkelde zoekopdracht in Laravel

  3. Hoe BIT_LENGTH() werkt in MariaDB

  4. Een onbewerkte PostgreSQL-query blijft hangen wanneer deze wordt uitgevoerd met TypeOrm