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

Hvordan sletter man fra udvalg i MySQL?

SELECT (under)forespørgsler returnerer resultatsæt . Så du skal bruge IN , ikke = i din WHERE klausul.

Derudover, som vist i dette svar du kan ikke ændre den samme tabel fra en underforespørgsel i den samme forespørgsel. Du kan dog enten SELECT derefter DELETE i separate forespørgsler, eller indlejr en anden underforespørgsel og alias det indre underforespørgselresultat (ser dog ret hacket ud):

DELETE FROM posts WHERE id IN (
    SELECT * FROM (
        SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )
    ) AS p
)

Eller brug joins som foreslået af Mchl .



  1. Hvordan indsætter man en datatabel i SQL Server-databasetabel?

  2. SQL Server Data Platform Opgradering i 2015

  3. Sådan får du mening i SQL Server Geografi Data Type

  4. SQL Server 2008 Spatial:find et punkt i polygon