• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の範囲のデータを削除するには)

特定の範囲のデータを削除する方法についての質問

このQ&Aのポイント
  • 現在MySQLについて勉強中で、特定の範囲のデータを削除する方法に困っています。
  • SELECT構文を使用すれば簡単に範囲のデータを取得できますが、DELETE構文ではそのような方法はありません。
  • 自分で考えた方法では、最小値・最大値を取得してからWHERE節で削除する必要があり、3回のアクセスが必要です。

質問者が選んだベストアンサー

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

LIMITをつかった処理はサブクエリなどでもサポートされていないかも。 一度テンポラリに落とした方がよいかもしれません。 プライマリキー(もしくはユニークキー)にidが設定されてとして CREATE TEMPORARY TABLE `ids` SELECT `id` FROM `mytable` WHERE `hoge` = 1 ORDER BY `foo` DESC LIMIT 10 , 20; DELETE FROM `mytable` WHERE `id` in (SELECT `id` FROM `ids`); なんて感じでどうでしょうか?

atse
質問者

お礼

アドバイスありがとうございます。 記述頂いた方法で、無事思い通りにできました。

すると、全ての回答が全文表示されます。

専門家に質問してみよう