首页 >数据库 >mysql教程 >如何有效地选择数据库中具有非唯一列值的行?

如何有效地选择数据库中具有非唯一列值的行?

Barbara Streisand
Barbara Streisand原创
2024-12-22 14:53:11451浏览

How Can I Efficiently Select Rows with Non-Unique Column Values in a Database?

选择具有非不同列值的行

处理数据时,可能需要检索特定列值不重复的行清楚的。例如,在包含电子邮件地址的表中,识别不同客户记录中的重复电子邮件地址可能很有用。

提供的查询采用 GROUP BY 和 HAVING 子句按电子邮件地址对行进行分组并识别出现的行不止一次。然而,据报道它存在性能问题。

另一种方法是使用 IN 子句与子查询相结合。此方法从 Customers 表中选择多次出现的电子邮件地址:

SELECT [EmailAddress], [CustomerName] 
FROM [Customers] 
WHERE [EmailAddress] IN
  (SELECT [EmailAddress] 
   FROM [Customers] 
   GROUP BY [EmailAddress] 
   HAVING COUNT(*) > 1)

此查询性能通常比使用 GROUP BY 和 HAVING 子句更快,并且应该有效返回具有重复电子邮件地址的行。

以上是如何有效地选择数据库中具有非唯一列值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn