1

我很难编写查询来删除 Mysql 中重复的前 2 个条目。有人可以帮助我吗。我遇到了如何查询 select 语句而不是删除查询。以下是要求;如果表包含大于或等于 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 行(在LIMITpart 中定义),并且由于结果集是按其排序的XX DESC,因此将是具有最大值的行XX

有关更多信息,请参阅有关删除的 Mysql 文档

于 2013-04-09T05:25:19.693 回答