【问题标题】:Making a query that only shows unique records进行仅显示唯一记录的查询
【发布时间】:2012-06-29 11:22:53
【问题描述】:

我有一个表格,其中一个列中的重复条目是可能的(emailAddress - 一些夫妇共享它们),我想向他们发送电子邮件通讯。有没有办法进行选择查询,如果有多个,它只显示一个电子邮件地址的副本?

【问题讨论】:

    标签: database ms-access unique


    【解决方案1】:

    如果你只需要 emailAddress 就很简单了:

    select distinct emailAddress from <YourTableNameHere>
    

    根据 cmets 中的要求进行编辑。

    如果您想同时选择不同的 emailAddress 和与之相关的任何 customerName,那么您必须以某种方式告诉 SQL 如何选择 customerName。最简单的方法是选择即 MIN(customerName),然后丢弃所有其他(通常是字母表中较晚但实际上取决于排序规则的那些)。查询将是:

    select emailAddress, min(customerName) as pickedCustomerName
    from <YourTableNameHere>
    group by emailAddress
    

    【讨论】:

    • 谢谢。是的,我也想选择 customerName 字段。我该怎么做呢?
    • 好的,但据我了解,当 emailAddress 相同时,customerName 仍然可以不同,对吧?那么您要选择哪个相关的客户名称?
    • 是否可以选择第一个而忽略第二个?
    【解决方案2】:

    您可以使用 DISTINCT keywprd,也可以使用 GROUP BY。

    SELECT DISTINCT email 
    FROM table
    

    或者

    SELECT email, Count(ID)
    FROM table
    GROUP By email
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 2022-01-11
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多