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

すべての行を削除し、最新のxを残します

    DELETE ORDER BYをサポートします およびLIMIT 条項なので、それは可能です。ただし、DELETEのため LIMITの参照制限とパラメータ 2つのクエリが必要です。

    SELECT COUNT(*) AS total FROM table  WHERE roomid = 1;
    -- run only if count is > 3
    DELETE FROM table WHERE roomid = 1 LIMIT total - 3;
    

    これにはおそらく中間技術が必要になることに注意してください。参考のためにクエリを表示しました。



    1. 各クエリの前にmysqlサーバーにpingを実行する必要がありますか?

    2. mysqlの2つのテーブルから2つの列を選択する方法

    3. refcursorを使用してVBAでOracleストアドプロシージャを呼び出す

    4. MySQL:大きなVARCHARとテキスト?