Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php (my)SQL删除重复的数据库条目,其中。。。_Php_Mysql_Sql_Duplicates - Fatal编程技术网

Php (my)SQL删除重复的数据库条目,其中。。。

Php (my)SQL删除重复的数据库条目,其中。。。,php,mysql,sql,duplicates,Php,Mysql,Sql,Duplicates,嗨,我有这样的分贝 DB-name: plzahl Sample Data: code | plz ------------------ 1 8000 1 8000 2 8000 3 8000 2 8001 3 8001 ... 我想要的是删除所有重复项,以便在表中保留“code”列值最高的一个 我在数据库中还没有唯一的标识符。添加一个,而不是使用mysql\u fetch\u

嗨,我有这样的分贝

DB-name: plzahl
Sample Data:

code   |   plz
------------------
1          8000
1          8000
2          8000
3          8000
2          8001
3          8001
...
我想要的是删除所有重复项,以便在表中保留“code”列值最高的一个

我在数据库中还没有唯一的标识符。添加一个,而不是使用mysql\u fetch\u array()并构建一个“删除数组”会更好吗?或者您会使用foreach来获取任何“plz”,如果count>0,则搜索,如果,则获取,排序并删除count-1

到目前为止:

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("no connection: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT code, plz FROM plzahl");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    //... here goes the magic
    // make query to search for count $row['plz'] > 0 ?
    ....
}

mysql_free_result($result);
?>

谢谢你的代码提示

用mysql的方式来做:

mysql_query('CREATE TABLE plz_new LIKE plz');
mysql_query('INSERT INTO plz (SELECT MAX(code) AS code, plz FROM plzahl GROUP BY plz)');
mysql_query('DROP TABLE plz');
mysql_query('RENAME TABLE plz_new plz');