【发布时间】:2018-10-15 02:56:22
【问题描述】:
上下文: 我正在为一个工作项目开发一个 Access 2013 数据库。它访问一些后端系统,并将它们组合在一起进行报告。其中一个系统包含员工数据。我正在编写一个 SQL 查询语句来提取某个部门的在职员工列表。但是,当我运行它时,我注意到一些员工在数据库中列出了两次。我无权编辑后端数据!所以我必须从我身边删除重复项。 当我尝试选择不同的值时,它不会被计算在内,因为我在其他列中提取的“一些”信息是不同的(比如电话号码)。
问题: 如何根据仅一列而不是整个表中的信息从查询中消除重复值?有没有办法使用 DISTINCT 或其他选项来做到这一点?
有点像从 excel 中删除重复项时如何指定要考虑的列
真诚地, 克里斯
【问题讨论】:
-
我们需要查看您的表结构和您现在拥有的查询。您可以为唯一的一列选择不同的记录,然后从表中选择一些 ID,然后使用外部查询从该表中选择所有字段,其中包含 ID(来自子选择)。这可能/可能不起作用,具体取决于您的结构和数据的布局方式,如果您可以发布我们可以获得更好的答案
-
您可以使用 GROUP BY/Aggregation:
SELECT employee_name, employee_id, max(telephone), max(email_addr) FROM table GROUP BY employee_name, employee_id;如果您不想在输出中使用电话或其他不明显的列,那么您可以选择您想要的内容并粘贴所有GROUP BY 中的那些列。 -
关于 SQL 查询的问题,有 15 行文本,没有任何代码、表结构和数据,这不是一个好问题。请编辑您的问题并添加所有这些。
标签: sql duplicates distinct ms-access-2013