我很难写一个查询来删除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')");
}
首先,您要检查$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
值的行。
有关更多信息,请参阅Mysql文档中的delete