Oracle:使用where子句选择重复项?

时间:2019-12-17 19:05:29

标签: sql oracle

我有一个问题:为什么我不能仅使用以下SQL查询从$ docker version Client: Docker Engine - Community Version: 19.03.4 API version: 1.40 Go version: go1.13.3 Git commit: 9013bf5 Built: Wed Oct 30 21:32:58 2019 OS/Arch: darwin/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.4 API version: 1.40 (minimum version 1.12) Go version: go1.12.10 Git commit: 9013bf583a Built: Fri Oct 18 15:55:51 2019 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.2.10 GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339 runc: Version: 1.0.0-rc8+dev GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657 docker-init: Version: 0.18.0 GitCommit: fec3683 表中获取唯一的电子邮件地址列表?

PERSON

2 个答案:

答案 0 :(得分:1)

我认为最简单,最常见的方法是按“电子邮件”列进行分组,然后将记录的计数保持为1。

SELECT Email, COUNT(Email)
FROM PERSON
GROUP BY Email
HAVING COUNT(Email) > 1;

NOT DISTINCT不起作用,因为它不是有效的表达式。 DISTINCT仅用于返回不同的值,因此在它无法按预期工作之前不返回。

答案 1 :(得分:0)

您要求获取唯一的电子邮件地址列表,该操作通过以下方式完成:

SELECT DISTINCT(Email) FROM PERSON;

标准SQL没有NOT DISTINCT或类似的内容。