如何消除MySQL中的重复行?

时间:2015-05-13 06:48:57

标签: mysql localhost duplicate-removal

即使将查询作为SELECT DISTINCT STATES运行,我也会收到重复项。

这是查询

SELECT COUNT(*) AS `Rows`, `STATE` FROM `bank_database` GROUP BY `STATE` ORDER BY `STATE` LIMIT 100

这是输出 Double Entries

我需要

 63      ANDAMAN AND NICOBAR ISLAND
 7311    ANDHRA PRADESH
 150     ARUNACHAL PRADESH
 ...
 and so on

这是我的数据库结构。 DB Structure

帮助。 在此先感谢。

我有这个查询

SELECT DISTINCT BRANCH FROM `BANK`.`BANK_DATABASE` WHERE (BANK = '$bank_name' AND STATE = '$state_name' AND DISTRICT = '$district_name')"

以上查询对某些银行是正确的,而某些银行则失败。

4 个答案:

答案 0 :(得分:2)

试试这个,必须有一些空格。

     SELECT COUNT(*) AS `Rows`, trim(STATE) FROM `bank_database` 
     GROUP BY  trim(STATE)  
     ORDER BY trim(STATE) LIMIT 100

如果工作正常,请运行此查询以修复数据问题。

 update tableName set state =  trim(state);

答案 1 :(得分:0)

数据真的不一样吗?数据中有一个空格。

'ANDAMAN AND NICOBAR ISLAND' != 'ANDAMAN AND NICOBAR ISLAND space'  

答案 2 :(得分:0)

您可以使用COUNT(DISTINCT *)这只会计算不同的值

答案 3 :(得分:0)

我可以通过此查询解析 data anomaly 以上

UPDATE BANK_DATABASE
SET STATE = TRIM(TRAILING '\r' FROM STATE)
WHERE STATE = TRIM(TRAILING '\n' FROM STATE)

无论如何,感谢大家。