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');