sql >> Database >  >> RDS >> Mysql

MYSQL verwijdert alle resultaten met count(*)=1

DELETE  si
FROM    t_session si
JOIN    (
        SELECT  sesskey
        FROM    t_session so
        GROUP BY
                sesskey
        HAVING  COUNT(*) = 1
        ) q
ON      q.sesskey = si.sesskey

Je moet hier een join hebben. Het gebruik van een gecorreleerde subquery werkt niet.

Zie dit artikel in mijn blog voor meer details:



  1. Hoe krijg ik datum-/tijdgegevens uit een TIMESTAMP-kolom?

  2. Verschil in benodigde tijd om InnoDB/MyISAM-records in te voegen

  3. MySQL converteren tussen twee datumformaten

  4. Vensterfuncties - Lopend totaal met reset