1

Mysql で繰り返される上位 2 つのエントリを削除するためのクエリを作成するのに苦労しています。誰かがこれを手伝ってくれますかテーブルには、特定のレコードの 10 個以上の値が含まれており、最初のレコード (最上位) が削除されます。以下は私のコードです。

$result = mysql_query("SELECT * FROM billinfo WHERE tableno='10'") or die(mysql_error());

   $num_rows = mysql_num_rows($result);
    echo  $num_rows;

    $query2='';
   if($num_rows>10)
   {

        $query2 = mysql_query("DELETE * TOP FROM  billinfo Where tableno='10')");
   }
4

1 に答える 1

1

まず、$num_rowsが 10 未満かどうかを確認しています。正しく理解できれば、逆のケースが必要です。

「トップ」の意味を定義していません。フィールドの最大値を想定しているためXX、クエリのように記述しました。

次のようなものを試してください

if($num_rows>10) {
   $query2 = mysql_query("DELETE FROM billinfo WHERE tableno='10' ORDER BY XX DESC LIMIT 1");
}

これにより、1行(パートで定義LIMIT)が削除されます。結果セットは次の順序で並べられるXX DESCため、最大XX値を持つ行になります。

詳細については、削除に関するMysqlのドキュメントを参照してください

于 2013-04-09T05:25:19.693 に答える