mysql:7414
From: yuji koga <yuji koga <koga-y@xxxxxxxxxx>>
Date: Mon, 07 Apr 2003 19:51:39 +0900
Subject: [mysql 07414] 最新のレコードを○○件残して古いものを削除
初めまして。古賀と申します。 諸先輩方の投稿は非常に参考になり、今までちょくちょく利用させて頂きました。 何か分からないことがあっても、過去ログなどを調べると解決策が見つかり、 助けられてきました。 が、今回、どうしても分からないことが有りましたので、 質問させて頂きたく存じます。 環境: mySQL 3.23.53 PHP 4.2.4 質問: 最新のレコードを○○件残して古いものを削除するSQL文を発行したいのですが、 どのように書いたらよいのか悩んでおります。 同じ機能をphp上から 1 まず select count(*) 2 カウントした値が○○件より多ければ、最も古いレコードを削除 2.1 最も古い(タイムスタンプの小さい)レコードをselectし、 その主キーを取得 2.2 2.1で取得した主キーを持つレコ?を削除 3 1・2をループし、カウントした値が○○件に等しくなったらループを抜ける として実現しています。が、どうもスマートでないので、 もしかしたらループなど使わなくても1文で(もしくはもっとスマートに) 出来てしまうのでは?と考えていたのですが、どうも思いつかず、 今回の質問となりました。 どなたかご存じの方いらっしゃいましたら、ご教授下さい。 既出の際はご容赦下さい。 <? /* 株式会社メディアプレス 制作課 古賀裕二 会社:koga-y@xxxxxxxxxx 自宅:yuuukunn@xxxxxxxxxx */ ?>
7412 2003-04-07 18:35 [Satoshi Iwanaga <iwa] インストール・別サーバへ接続 7413 2003-04-07 19:08 ┗[doumae <doumae@xxxxx] -> 7414 2003-04-07 19:51 ┣[yuji koga <koga-y@xx] 最新のレコードを○○件残して古いものを削除 7415 2003-04-07 20:12 ┃┣[Daiju Azuma <daiju_a] 7418 2003-04-07 20:57 ┃┃┗[Shinya Kawaji <kawaj] 7420 2003-04-07 21:24 ┃┃ ┗[Daiju Azuma <daiju_a] 7422 2003-04-08 09:54 ┃┗[yuji koga <koga-y@xx] 7416 2003-04-07 20:16 ┣[Satoshi Iwanaga <iwa] 7423 2003-04-08 15:12 ┃┗[Satoshi Iwanaga <iwa] 7424 2003-04-08 15:47 ┃ ┗[doumae <doumae@xxxxx] 7425 2003-04-08 16:12 ┃ ┗[Satoshi Iwanaga <iwa] 7426 2003-04-08 16:48 ┃ ┣["TOYOSHIMA,Masayuki"] 7432 2003-04-09 14:26 ┃ ┗[Satoshi Iwanaga <iwa] 7417 2003-04-07 20:21 ┗[doumae <doumae@xxxxx]