使用TOP子句删除Mysql中的查询?

时间:2013-04-09 05:20:59

标签: mysql

我很难写一个查询来删除在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')");
   }

1 个答案:

答案 0 :(得分:1)

首先,你正在检查$num_rows是否小于10,如果我理解你想要相反的情况。

你没有定义“top”的意思 - 我假设一个字段的最大值,因此我在查询中将其写为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值最大的行。 / p>

有关更多信息,请参阅delete

上的Mysql文档