Mysql
 sql >> база данни >  >> RDS >> Mysql

Изтриване на набор от резултати от SQL заявка

Вярно е, че не можете да използвате същата таблица, от която искате да изтриете редове в директен подизбор, но с малък трик - подизбор на подизбор като производна таблица - можете да го направите:

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

Предполагам, че редовете без коментари трябва да бъдат изтрити.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Неуловено изключение „PDOException“ със съобщение „SQLSTATE[HY093]:Невалиден номер на параметър“

  2. Проблем със сравняването на дати в MySQL?

  3. C++ executeQuery() грешка при показване на MySQL данни от таблицата

  4. Извличане на данни от mysql и показване под формата на текстова таблица ascii в браузъра

  5. Кой е най-добрият начин за бързо вмъкване на големи количества данни в MySQL?