• 締切済み

sqlについて質問です。

sqlについて質問です。 「timeカラムの新規5件以外を削除する」 というsqlを書きたいのですが、どのように書けばよいのでしょうか。 delete from [table] where time != tile desc limit 5 はちょっと違いますよね・・・

みんなの回答

  • _yasuo
  • ベストアンサー率41% (16/39)
回答No.2

ほぼdelete文を使ったことないですが、感覚的な回答になりますが。。。 あと、[table]になんらかの行を特定するキー(主キー:sid)がある前提で、書いてみます。 delete from [table] where sid not in (select sid from [table] order by time desc limit 5); で、いけるようないけないような。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

フラグのカラムを作っておいて処理してみては? update hoge set flg=1 order by `time` desc limit 5; delete from hoge where flg=0; みたいな感じ

関連するQ&A