sql >> データベース >  >> RDS >> Mysql

MySQLでselectから削除するにはどうすればよいですか?

    SELECT (サブ)クエリは結果セットを返します 。したがって、INを使用する必要があります 、=ではありません WHERE 条項。

    さらに、この回答 同じクエリ内のサブクエリから同じテーブルを変更することはできません。ただし、SELECTのいずれかを使用できます 次にDELETE 別のクエリで、または別のサブクエリをネストして、内側のサブクエリの結果をエイリアスします(ただし、かなりハッキーに見えます):

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

    または、Mchlの提案に従って、結合を使用します



    1. SQLServerのカーソルタイプ-動的カーソル| SQLServerチュートリアル/TSQLチュートリアル

    2. ヘアサロンデータベースプロジェクト

    3. Oracle-特定の行の実際のサイズを取得するにはどうすればよいですか?

    4. 1つの表に行がない可能性がある複数の表からの選択によるOracleInsert