在一个 [member] 表中,一些行在 email
列中有相同的值。
login_id | email
---------|---------------------
john | john123@hotmail.com
peter | peter456@gmail.com
johnny | john123@hotmail.com
...
有些人使用了不同的login_id,但是相同的电子邮件地址,并且该列上没有设置唯一约束。现在我需要找到这些行,并确定它们是否应该被删除。
我该使用哪个SQL语句来查找这些行?(MySQL 5)
count(1)
的效果同样好,并且性能更高。 (从[so]学到的技巧;-)) - jpaughcount(1)
。https://dev59.com/PXE85IYBdhLWcg3wkkfK - Stormcount(*)
和count(1)
查询语句性能上已经没有区别了,DBMS的查询分析器都非常智能化,不会加载整行数据来执行count(*)
。你可以自己测试一下(别忘了在测试前禁用缓存)。 - kdmitry